@wentorai/research-plugins 1.3.1 → 1.4.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 +32 -56
- package/curated/analysis/README.md +1 -13
- package/curated/domains/README.md +1 -5
- package/curated/literature/README.md +1 -10
- package/curated/research/README.md +1 -18
- package/curated/tools/README.md +1 -12
- package/curated/writing/README.md +1 -5
- package/index.ts +88 -5
- package/openclaw.plugin.json +3 -12
- package/package.json +3 -5
- package/skills/analysis/dataviz/SKILL.md +1 -1
- package/skills/analysis/dataviz/color-accessibility-guide/SKILL.md +1 -1
- package/skills/analysis/dataviz/geospatial-viz-guide/SKILL.md +1 -1
- package/skills/analysis/dataviz/interactive-viz-guide/SKILL.md +1 -1
- package/skills/analysis/dataviz/network-visualization-guide/SKILL.md +1 -1
- package/skills/analysis/dataviz/publication-figures-guide/SKILL.md +1 -1
- package/skills/analysis/econometrics/SKILL.md +1 -1
- package/skills/analysis/econometrics/causal-inference-guide/SKILL.md +1 -1
- package/skills/analysis/econometrics/iv-regression-guide/SKILL.md +1 -1
- package/skills/analysis/econometrics/mostly-harmless-guide/SKILL.md +3 -10
- package/skills/analysis/econometrics/panel-data-analyst/SKILL.md +1 -1
- package/skills/analysis/econometrics/panel-data-guide/SKILL.md +1 -1
- package/skills/analysis/econometrics/stata-accounting-guide/SKILL.md +1 -1
- package/skills/analysis/econometrics/stata-analyst-guide/SKILL.md +1 -1
- package/skills/analysis/econometrics/time-series-guide/SKILL.md +1 -1
- package/skills/analysis/statistics/SKILL.md +2 -2
- package/skills/analysis/statistics/bayesian-statistics-guide/SKILL.md +1 -1
- package/skills/analysis/statistics/meta-analysis-guide/SKILL.md +2 -2
- package/skills/analysis/statistics/nonparametric-tests-guide/SKILL.md +1 -1
- package/skills/analysis/statistics/power-analysis-guide/SKILL.md +1 -1
- package/skills/analysis/statistics/sem-guide/SKILL.md +1 -1
- package/skills/analysis/statistics/survival-analysis-guide/SKILL.md +1 -1
- package/skills/analysis/wrangling/SKILL.md +1 -1
- package/skills/analysis/wrangling/data-cleaning-pipeline/SKILL.md +1 -1
- package/skills/analysis/wrangling/missing-data-handling/SKILL.md +1 -1
- package/skills/analysis/wrangling/questionnaire-design-guide/SKILL.md +1 -1
- package/skills/analysis/wrangling/stata-data-cleaning/SKILL.md +1 -1
- package/skills/analysis/wrangling/survey-data-processing/SKILL.md +1 -1
- package/skills/analysis/wrangling/text-mining-guide/SKILL.md +1 -1
- package/skills/domains/ai-ml/SKILL.md +3 -2
- package/skills/domains/ai-ml/computer-vision-guide/SKILL.md +1 -1
- package/skills/domains/ai-ml/generative-ai-guide/SKILL.md +1 -0
- package/skills/domains/ai-ml/huggingface-api/SKILL.md +251 -0
- package/skills/domains/ai-ml/llm-evaluation-guide/SKILL.md +1 -1
- package/skills/domains/ai-ml/prompt-engineering-research/SKILL.md +1 -1
- package/skills/domains/ai-ml/reinforcement-learning-guide/SKILL.md +1 -1
- package/skills/domains/ai-ml/transformer-architecture-guide/SKILL.md +1 -1
- package/skills/domains/biomedical/SKILL.md +9 -2
- package/skills/domains/biomedical/alphafold-api/SKILL.md +227 -0
- package/skills/domains/biomedical/biothings-api/SKILL.md +296 -0
- package/skills/domains/biomedical/clinical-research-guide/SKILL.md +1 -1
- package/skills/domains/biomedical/clinicaltrials-api-v2/SKILL.md +216 -0
- package/skills/domains/biomedical/enrichr-api/SKILL.md +264 -0
- package/skills/domains/biomedical/ensembl-rest-api/SKILL.md +204 -0
- package/skills/domains/biomedical/epidemiology-guide/SKILL.md +1 -1
- package/skills/domains/biomedical/genomics-analysis-guide/SKILL.md +1 -1
- package/skills/domains/biomedical/medical-data-api/SKILL.md +197 -0
- package/skills/domains/biomedical/medical-imaging-guide/SKILL.md +1 -1
- package/skills/domains/biomedical/pdb-structure-api/SKILL.md +219 -0
- package/skills/domains/business/SKILL.md +2 -3
- package/skills/domains/business/innovation-management-guide/SKILL.md +1 -1
- package/skills/domains/business/market-analysis-guide/SKILL.md +1 -1
- package/skills/domains/business/operations-research-guide/SKILL.md +1 -1
- package/skills/domains/business/strategic-management-guide/SKILL.md +1 -1
- package/skills/domains/chemistry/SKILL.md +3 -2
- package/skills/domains/chemistry/catalysis-hub-api/SKILL.md +171 -0
- package/skills/domains/chemistry/molecular-dynamics-guide/SKILL.md +1 -1
- package/skills/domains/chemistry/retrosynthesis-guide/SKILL.md +1 -1
- package/skills/domains/chemistry/spectroscopy-analysis-guide/SKILL.md +1 -1
- package/skills/domains/cs/SKILL.md +1 -1
- package/skills/domains/cs/algorithms-complexity-guide/SKILL.md +1 -1
- package/skills/domains/cs/distributed-systems-guide/SKILL.md +1 -1
- package/skills/domains/cs/formal-verification-guide/SKILL.md +1 -1
- package/skills/domains/cs/software-engineering-research/SKILL.md +1 -1
- package/skills/domains/ecology/SKILL.md +1 -1
- package/skills/domains/ecology/biodiversity-data-guide/SKILL.md +1 -1
- package/skills/domains/ecology/conservation-biology-guide/SKILL.md +1 -1
- package/skills/domains/ecology/species-distribution-guide/SKILL.md +1 -1
- package/skills/domains/economics/SKILL.md +1 -1
- package/skills/domains/economics/behavioral-economics-guide/SKILL.md +1 -1
- package/skills/domains/economics/development-economics-guide/SKILL.md +1 -1
- package/skills/domains/education/SKILL.md +2 -3
- package/skills/domains/education/assessment-design-guide/SKILL.md +1 -1
- package/skills/domains/education/curriculum-design-guide/SKILL.md +1 -1
- package/skills/domains/education/educational-research-methods/SKILL.md +1 -1
- package/skills/domains/education/learning-science-guide/SKILL.md +1 -1
- package/skills/domains/education/mooc-analytics-guide/SKILL.md +1 -1
- package/skills/domains/finance/SKILL.md +1 -1
- package/skills/domains/finance/financial-data-analysis/SKILL.md +1 -1
- package/skills/domains/finance/portfolio-optimization-guide/SKILL.md +1 -1
- package/skills/domains/finance/quantitative-finance-guide/SKILL.md +1 -1
- package/skills/domains/finance/risk-modeling-guide/SKILL.md +1 -1
- package/skills/domains/geoscience/SKILL.md +1 -1
- package/skills/domains/geoscience/climate-modeling-guide/SKILL.md +1 -1
- package/skills/domains/geoscience/climate-science-guide/SKILL.md +1 -1
- package/skills/domains/geoscience/gis-remote-sensing-guide/SKILL.md +1 -1
- package/skills/domains/geoscience/satellite-remote-sensing/SKILL.md +1 -1
- package/skills/domains/geoscience/seismology-data-guide/SKILL.md +1 -1
- package/skills/domains/humanities/SKILL.md +1 -1
- package/skills/domains/humanities/digital-humanities-guide/SKILL.md +1 -1
- package/skills/domains/humanities/ethical-philosophy-guide/SKILL.md +1 -1
- package/skills/domains/humanities/philosophy-research-guide/SKILL.md +1 -1
- package/skills/domains/law/SKILL.md +3 -2
- package/skills/domains/law/legal-nlp-guide/SKILL.md +1 -1
- package/skills/domains/law/legal-research-guide/SKILL.md +1 -1
- package/skills/domains/law/patent-analysis-guide/SKILL.md +1 -1
- package/skills/domains/law/regulatory-compliance-guide/SKILL.md +1 -1
- package/skills/domains/law/uk-legislation-api/SKILL.md +179 -0
- package/skills/domains/math/SKILL.md +1 -1
- package/skills/domains/math/numerical-methods-guide/SKILL.md +1 -1
- package/skills/domains/math/symbolic-computation-guide/SKILL.md +1 -1
- package/skills/domains/math/topology-data-analysis/SKILL.md +1 -1
- package/skills/domains/pharma/SKILL.md +1 -1
- package/skills/domains/pharma/clinical-pharmacology-guide/SKILL.md +1 -1
- package/skills/domains/pharma/clinical-trial-design-guide/SKILL.md +1 -1
- package/skills/domains/pharma/drug-development-guide/SKILL.md +1 -1
- package/skills/domains/pharma/drug-target-interaction/SKILL.md +1 -1
- package/skills/domains/pharma/pharmacovigilance-guide/SKILL.md +1 -1
- package/skills/domains/physics/SKILL.md +1 -1
- package/skills/domains/physics/astrophysics-data-guide/SKILL.md +1 -1
- package/skills/domains/physics/computational-physics-guide/SKILL.md +1 -1
- package/skills/domains/physics/particle-physics-guide/SKILL.md +1 -1
- package/skills/domains/physics/quantum-computing-guide/SKILL.md +1 -1
- package/skills/domains/social-science/SKILL.md +1 -1
- package/skills/domains/social-science/network-analysis-guide/SKILL.md +1 -1
- package/skills/domains/social-science/social-research-methods/SKILL.md +1 -1
- package/skills/domains/social-science/survey-research-guide/SKILL.md +1 -1
- package/skills/literature/discovery/SKILL.md +1 -1
- package/skills/literature/discovery/citation-alert-guide/SKILL.md +1 -1
- package/skills/literature/discovery/conference-proceedings-guide/SKILL.md +1 -1
- package/skills/literature/discovery/literature-mapping-guide/SKILL.md +1 -1
- package/skills/literature/discovery/rss-paper-feeds/SKILL.md +1 -1
- package/skills/literature/discovery/semantic-scholar-recs-guide/SKILL.md +1 -1
- package/skills/literature/discovery/zotero-arxiv-daily-guide/SKILL.md +3 -3
- package/skills/literature/fulltext/SKILL.md +3 -2
- package/skills/literature/fulltext/arxiv-latex-source/SKILL.md +195 -0
- package/skills/literature/fulltext/interlibrary-loan-guide/SKILL.md +1 -1
- package/skills/literature/fulltext/open-access-guide/SKILL.md +1 -1
- package/skills/literature/fulltext/open-access-mining-guide/SKILL.md +1 -1
- package/skills/literature/fulltext/preprint-servers-guide/SKILL.md +1 -1
- package/skills/literature/metadata/SKILL.md +1 -1
- package/skills/literature/metadata/altmetrics-guide/SKILL.md +1 -1
- package/skills/literature/metadata/doi-resolution-guide/SKILL.md +1 -1
- package/skills/literature/metadata/h-index-guide/SKILL.md +1 -1
- package/skills/literature/metadata/journal-metrics-guide/SKILL.md +1 -1
- package/skills/literature/metadata/orcid-integration-guide/SKILL.md +1 -1
- package/skills/literature/search/SKILL.md +2 -3
- package/skills/literature/search/arxiv-batch-reporting/SKILL.md +2 -2
- package/skills/literature/search/boolean-search-guide/SKILL.md +1 -1
- package/skills/literature/search/citation-chaining-guide/SKILL.md +1 -1
- package/skills/literature/search/database-comparison-guide/SKILL.md +1 -1
- package/skills/literature/search/deep-literature-search/SKILL.md +2 -2
- package/skills/literature/search/google-scholar-guide/SKILL.md +1 -1
- package/skills/literature/search/mesh-terms-guide/SKILL.md +1 -1
- package/skills/literature/search/systematic-search-strategy/SKILL.md +1 -1
- package/skills/research/automation/SKILL.md +1 -1
- package/skills/research/automation/data-collection-automation/SKILL.md +1 -1
- package/skills/research/automation/datagen-research-guide/SKILL.md +1 -0
- package/skills/research/automation/mle-agent-guide/SKILL.md +1 -0
- package/skills/research/automation/paper-to-agent-guide/SKILL.md +1 -0
- package/skills/research/automation/research-workflow-automation/SKILL.md +1 -1
- package/skills/research/deep-research/SKILL.md +1 -1
- package/skills/research/deep-research/auto-deep-research-guide/SKILL.md +1 -0
- package/skills/research/deep-research/meta-synthesis-guide/SKILL.md +1 -1
- package/skills/research/deep-research/scoping-review-guide/SKILL.md +1 -1
- package/skills/research/deep-research/systematic-review-guide/SKILL.md +1 -1
- package/skills/research/funding/SKILL.md +1 -1
- package/skills/research/funding/eu-horizon-guide/SKILL.md +1 -1
- package/skills/research/funding/grant-budget-guide/SKILL.md +1 -1
- package/skills/research/funding/grant-writing-guide/SKILL.md +1 -1
- package/skills/research/funding/nsf-grant-guide/SKILL.md +1 -1
- package/skills/research/funding/open-science-guide/SKILL.md +1 -1
- package/skills/research/methodology/SKILL.md +2 -2
- package/skills/research/methodology/action-research-guide/SKILL.md +1 -1
- package/skills/research/methodology/claude-scientific-guide/SKILL.md +1 -0
- package/skills/research/methodology/experimental-design-guide/SKILL.md +1 -1
- package/skills/research/methodology/grounded-theory-guide/SKILL.md +1 -1
- package/skills/research/methodology/mixed-methods-guide/SKILL.md +1 -1
- package/skills/research/methodology/qualitative-research-guide/SKILL.md +2 -2
- package/skills/research/methodology/research-paper-kb/SKILL.md +2 -2
- package/skills/research/methodology/research-town-guide/SKILL.md +3 -3
- package/skills/research/methodology/scientify-idea-generation/SKILL.md +1 -1
- package/skills/research/paper-review/SKILL.md +2 -2
- package/skills/research/paper-review/automated-review-guide/SKILL.md +1 -1
- package/skills/research/paper-review/paper-reading-assistant/SKILL.md +1 -1
- package/skills/research/paper-review/peer-review-guide/SKILL.md +2 -2
- package/skills/research/paper-review/rebuttal-writing-guide/SKILL.md +1 -1
- package/skills/research/paper-review/review-response-guide/SKILL.md +1 -1
- package/skills/research/paper-review/scientify-write-review-paper/SKILL.md +1 -1
- package/skills/tools/code-exec/SKILL.md +1 -1
- package/skills/tools/code-exec/google-colab-guide/SKILL.md +1 -1
- package/skills/tools/code-exec/jupyter-notebook-guide/SKILL.md +1 -1
- package/skills/tools/code-exec/overleaf-cli-guide/SKILL.md +1 -1
- package/skills/tools/code-exec/python-reproducibility-guide/SKILL.md +1 -1
- package/skills/tools/code-exec/r-reproducibility-guide/SKILL.md +1 -1
- package/skills/tools/code-exec/sandbox-execution-guide/SKILL.md +1 -1
- package/skills/tools/diagram/SKILL.md +1 -1
- package/skills/tools/diagram/code-flow-visualizer/SKILL.md +1 -1
- package/skills/tools/diagram/excalidraw-diagram-guide/SKILL.md +1 -1
- package/skills/tools/diagram/mermaid-architect-guide/SKILL.md +1 -1
- package/skills/tools/diagram/plantuml-guide/SKILL.md +1 -1
- package/skills/tools/diagram/scientific-illustration-guide/SKILL.md +1 -1
- package/skills/tools/document/SKILL.md +1 -1
- package/skills/tools/document/large-document-reader/SKILL.md +2 -2
- package/skills/tools/document/markdown-academic-guide/SKILL.md +1 -1
- package/skills/tools/document/paper-parse-guide/SKILL.md +2 -2
- package/skills/tools/document/pdf-extraction-guide/SKILL.md +1 -1
- package/skills/tools/knowledge-graph/SKILL.md +2 -3
- package/skills/tools/knowledge-graph/citation-network-builder/SKILL.md +1 -1
- package/skills/tools/knowledge-graph/concept-map-generator/SKILL.md +1 -1
- package/skills/tools/knowledge-graph/ontology-design-guide/SKILL.md +1 -1
- package/skills/tools/knowledge-graph/rag-methodology-guide/SKILL.md +1 -1
- package/skills/tools/ocr-translate/SKILL.md +1 -1
- package/skills/tools/ocr-translate/handwriting-recognition-guide/SKILL.md +1 -1
- package/skills/tools/ocr-translate/latex-ocr-guide/SKILL.md +1 -1
- package/skills/tools/ocr-translate/multilingual-research-guide/SKILL.md +1 -1
- package/skills/tools/ocr-translate/zotero-pdf2zh-guide/SKILL.md +1 -0
- package/skills/tools/scraping/SKILL.md +1 -1
- package/skills/tools/scraping/dataset-finder-guide/SKILL.md +2 -2
- package/skills/tools/scraping/google-scholar-scraper/SKILL.md +1 -1
- package/skills/tools/scraping/repository-harvesting-guide/SKILL.md +1 -1
- package/skills/tools/scraping/web-scraping-ethics-guide/SKILL.md +1 -1
- package/skills/writing/citation/SKILL.md +1 -1
- package/skills/writing/citation/academic-citation-manager/SKILL.md +2 -2
- package/skills/writing/citation/bibtex-management-guide/SKILL.md +1 -1
- package/skills/writing/citation/citation-style-guide/SKILL.md +1 -1
- package/skills/writing/citation/mendeley-api/SKILL.md +2 -2
- package/skills/writing/citation/obsidian-citation-guide/SKILL.md +1 -0
- package/skills/writing/citation/obsidian-zotero-guide/SKILL.md +1 -0
- package/skills/writing/citation/papersgpt-zotero-guide/SKILL.md +1 -0
- package/skills/writing/citation/reference-manager-comparison/SKILL.md +1 -1
- package/skills/writing/citation/zotero-mdnotes-guide/SKILL.md +1 -0
- package/skills/writing/citation/zotero-reference-guide/SKILL.md +1 -0
- package/skills/writing/composition/SKILL.md +1 -1
- package/skills/writing/composition/abstract-writing-guide/SKILL.md +1 -1
- package/skills/writing/composition/discussion-writing-guide/SKILL.md +1 -1
- package/skills/writing/composition/introduction-writing-guide/SKILL.md +1 -1
- package/skills/writing/composition/literature-review-writing/SKILL.md +1 -1
- package/skills/writing/composition/methods-section-guide/SKILL.md +1 -1
- package/skills/writing/composition/response-to-reviewers/SKILL.md +1 -1
- package/skills/writing/composition/scientific-writing-resources/SKILL.md +1 -0
- package/skills/writing/latex/SKILL.md +1 -1
- package/skills/writing/latex/bibliography-management-guide/SKILL.md +1 -1
- package/skills/writing/latex/latex-drawing-collection/SKILL.md +1 -0
- package/skills/writing/latex/latex-templates-collection/SKILL.md +1 -0
- package/skills/writing/latex/math-typesetting-guide/SKILL.md +1 -1
- package/skills/writing/latex/overleaf-collaboration-guide/SKILL.md +1 -1
- package/skills/writing/latex/tex-render-guide/SKILL.md +2 -2
- package/skills/writing/latex/tikz-diagrams-guide/SKILL.md +1 -1
- package/skills/writing/polish/SKILL.md +1 -1
- package/skills/writing/polish/academic-tone-guide/SKILL.md +1 -1
- package/skills/writing/polish/academic-translation-guide/SKILL.md +1 -1
- package/skills/writing/polish/ai-writing-humanizer/SKILL.md +1 -1
- package/skills/writing/polish/conciseness-editing-guide/SKILL.md +1 -1
- package/skills/writing/polish/grammar-checker-guide/SKILL.md +1 -1
- package/skills/writing/polish/paper-polish-guide/SKILL.md +2 -2
- package/skills/writing/polish/plagiarism-detection-guide/SKILL.md +1 -1
- package/skills/writing/templates/SKILL.md +1 -1
- package/skills/writing/templates/beamer-presentation-guide/SKILL.md +1 -1
- package/skills/writing/templates/conference-paper-template/SKILL.md +1 -1
- package/skills/writing/templates/novathesis-guide/SKILL.md +1 -0
- package/skills/writing/templates/thesis-template-guide/SKILL.md +1 -1
- package/src/tools/arxiv.ts +78 -30
- package/src/tools/biorxiv.ts +142 -0
- package/src/tools/crossref.ts +60 -22
- package/src/tools/datacite.ts +188 -0
- package/src/tools/dblp.ts +125 -0
- package/src/tools/doaj.ts +82 -0
- package/src/tools/europe-pmc.ts +159 -0
- package/src/tools/hal.ts +118 -0
- package/src/tools/inspire-hep.ts +165 -0
- package/src/tools/openaire.ts +158 -0
- package/src/tools/openalex.ts +20 -15
- package/src/tools/opencitations.ts +103 -0
- package/src/tools/orcid.ts +136 -0
- package/src/tools/osf-preprints.ts +104 -0
- package/src/tools/pubmed.ts +19 -13
- package/src/tools/ror.ts +118 -0
- package/src/tools/unpaywall.ts +12 -6
- package/src/tools/util.ts +141 -0
- package/src/tools/zenodo.ts +154 -0
- package/mcp-configs/academic-db/ChatSpatial.json +0 -17
- package/mcp-configs/academic-db/academia-mcp.json +0 -17
- package/mcp-configs/academic-db/academic-paper-explorer.json +0 -17
- package/mcp-configs/academic-db/academic-search-mcp-server.json +0 -17
- package/mcp-configs/academic-db/agentinterviews-mcp.json +0 -17
- package/mcp-configs/academic-db/all-in-mcp.json +0 -17
- package/mcp-configs/academic-db/alphafold-mcp.json +0 -20
- package/mcp-configs/academic-db/apple-health-mcp.json +0 -17
- package/mcp-configs/academic-db/arxiv-latex-mcp.json +0 -17
- package/mcp-configs/academic-db/arxiv-mcp-server.json +0 -17
- package/mcp-configs/academic-db/bgpt-mcp.json +0 -17
- package/mcp-configs/academic-db/biomcp.json +0 -17
- package/mcp-configs/academic-db/biothings-mcp.json +0 -17
- package/mcp-configs/academic-db/brightspace-mcp.json +0 -21
- package/mcp-configs/academic-db/catalysishub-mcp-server.json +0 -17
- package/mcp-configs/academic-db/climatiq-mcp.json +0 -20
- package/mcp-configs/academic-db/clinicaltrialsgov-mcp-server.json +0 -17
- package/mcp-configs/academic-db/deep-research-mcp.json +0 -17
- package/mcp-configs/academic-db/dicom-mcp.json +0 -17
- package/mcp-configs/academic-db/enrichr-mcp-server.json +0 -17
- package/mcp-configs/academic-db/fec-mcp-server.json +0 -17
- package/mcp-configs/academic-db/fhir-mcp-server-themomentum.json +0 -17
- package/mcp-configs/academic-db/fhir-mcp.json +0 -19
- package/mcp-configs/academic-db/gget-mcp.json +0 -17
- package/mcp-configs/academic-db/gibs-mcp.json +0 -20
- package/mcp-configs/academic-db/gis-mcp-server.json +0 -22
- package/mcp-configs/academic-db/google-earth-engine-mcp.json +0 -21
- package/mcp-configs/academic-db/google-researcher-mcp.json +0 -17
- package/mcp-configs/academic-db/idea-reality-mcp.json +0 -17
- package/mcp-configs/academic-db/legiscan-mcp.json +0 -19
- package/mcp-configs/academic-db/lex.json +0 -17
- package/mcp-configs/academic-db/m4-clinical-mcp.json +0 -21
- package/mcp-configs/academic-db/medical-mcp.json +0 -21
- package/mcp-configs/academic-db/nexonco-mcp.json +0 -20
- package/mcp-configs/academic-db/omop-mcp.json +0 -20
- package/mcp-configs/academic-db/onekgpd-mcp.json +0 -20
- package/mcp-configs/academic-db/openedu-mcp.json +0 -20
- package/mcp-configs/academic-db/opengenes-mcp.json +0 -20
- package/mcp-configs/academic-db/openstax-mcp.json +0 -21
- package/mcp-configs/academic-db/openstreetmap-mcp.json +0 -21
- package/mcp-configs/academic-db/opentargets-mcp.json +0 -21
- package/mcp-configs/academic-db/pdb-mcp.json +0 -21
- package/mcp-configs/academic-db/smithsonian-mcp.json +0 -20
- package/mcp-configs/ai-platform/Adaptive-Graph-of-Thoughts-MCP-server.json +0 -17
- package/mcp-configs/ai-platform/ai-counsel.json +0 -17
- package/mcp-configs/ai-platform/atlas-mcp-server.json +0 -17
- package/mcp-configs/ai-platform/counsel-mcp.json +0 -17
- package/mcp-configs/ai-platform/cross-llm-mcp.json +0 -17
- package/mcp-configs/ai-platform/gptr-mcp.json +0 -17
- package/mcp-configs/ai-platform/magi-researchers.json +0 -21
- package/mcp-configs/ai-platform/mcp-academic-researcher.json +0 -22
- package/mcp-configs/ai-platform/open-paper-machine.json +0 -21
- package/mcp-configs/ai-platform/paper-intelligence.json +0 -21
- package/mcp-configs/ai-platform/paper-reader.json +0 -21
- package/mcp-configs/ai-platform/paperdebugger.json +0 -21
- package/mcp-configs/browser/decipher-research-agent.json +0 -17
- package/mcp-configs/browser/deep-research.json +0 -17
- package/mcp-configs/browser/everything-claude-code.json +0 -17
- package/mcp-configs/browser/exa-mcp.json +0 -20
- package/mcp-configs/browser/gpt-researcher.json +0 -17
- package/mcp-configs/browser/heurist-agent-framework.json +0 -17
- package/mcp-configs/browser/mcp-searxng.json +0 -21
- package/mcp-configs/browser/mcp-webresearch.json +0 -20
- package/mcp-configs/cloud-docs/confluence-mcp.json +0 -37
- package/mcp-configs/cloud-docs/google-drive-mcp.json +0 -35
- package/mcp-configs/cloud-docs/notion-mcp.json +0 -29
- package/mcp-configs/communication/discord-mcp.json +0 -29
- package/mcp-configs/communication/discourse-mcp.json +0 -21
- package/mcp-configs/communication/slack-mcp.json +0 -29
- package/mcp-configs/communication/telegram-mcp.json +0 -28
- package/mcp-configs/data-platform/4everland-hosting-mcp.json +0 -17
- package/mcp-configs/data-platform/automl-stat-mcp.json +0 -21
- package/mcp-configs/data-platform/context-keeper.json +0 -17
- package/mcp-configs/data-platform/context7.json +0 -19
- package/mcp-configs/data-platform/contextstream-mcp.json +0 -17
- package/mcp-configs/data-platform/email-mcp.json +0 -17
- package/mcp-configs/data-platform/jefferson-stats-mcp.json +0 -22
- package/mcp-configs/data-platform/mcp-excel-server.json +0 -21
- package/mcp-configs/data-platform/mcp-stata.json +0 -21
- package/mcp-configs/data-platform/mcpstack-jupyter.json +0 -21
- package/mcp-configs/data-platform/ml-mcp.json +0 -21
- package/mcp-configs/data-platform/nasdaq-data-link-mcp.json +0 -20
- package/mcp-configs/data-platform/numpy-mcp.json +0 -21
- package/mcp-configs/database/neo4j-mcp.json +0 -37
- package/mcp-configs/database/postgres-mcp.json +0 -28
- package/mcp-configs/database/sqlite-mcp.json +0 -29
- package/mcp-configs/dev-platform/geogebra-mcp.json +0 -21
- package/mcp-configs/dev-platform/github-mcp.json +0 -31
- package/mcp-configs/dev-platform/gitlab-mcp.json +0 -34
- package/mcp-configs/dev-platform/latex-mcp-server.json +0 -21
- package/mcp-configs/dev-platform/manim-mcp.json +0 -20
- package/mcp-configs/dev-platform/mcp-echarts.json +0 -20
- package/mcp-configs/dev-platform/panel-viz-mcp.json +0 -20
- package/mcp-configs/dev-platform/paperbanana.json +0 -20
- package/mcp-configs/dev-platform/texflow-mcp.json +0 -20
- package/mcp-configs/dev-platform/texmcp.json +0 -20
- package/mcp-configs/dev-platform/typst-mcp.json +0 -21
- package/mcp-configs/dev-platform/vizro-mcp.json +0 -20
- package/mcp-configs/email/email-mcp.json +0 -40
- package/mcp-configs/email/gmail-mcp.json +0 -37
- package/mcp-configs/note-knowledge/ApeRAG.json +0 -17
- package/mcp-configs/note-knowledge/In-Memoria.json +0 -17
- package/mcp-configs/note-knowledge/agent-memory.json +0 -17
- package/mcp-configs/note-knowledge/aimemo.json +0 -17
- package/mcp-configs/note-knowledge/biel-mcp.json +0 -19
- package/mcp-configs/note-knowledge/cognee.json +0 -17
- package/mcp-configs/note-knowledge/context-awesome.json +0 -17
- package/mcp-configs/note-knowledge/context-mcp.json +0 -17
- package/mcp-configs/note-knowledge/conversation-handoff-mcp.json +0 -17
- package/mcp-configs/note-knowledge/cortex.json +0 -17
- package/mcp-configs/note-knowledge/devrag.json +0 -17
- package/mcp-configs/note-knowledge/easy-obsidian-mcp.json +0 -17
- package/mcp-configs/note-knowledge/engram.json +0 -17
- package/mcp-configs/note-knowledge/gnosis-mcp.json +0 -17
- package/mcp-configs/note-knowledge/graphlit-mcp-server.json +0 -19
- package/mcp-configs/note-knowledge/local-faiss-mcp.json +0 -21
- package/mcp-configs/note-knowledge/mcp-memory-service.json +0 -21
- package/mcp-configs/note-knowledge/mcp-obsidian.json +0 -23
- package/mcp-configs/note-knowledge/mcp-ragdocs.json +0 -20
- package/mcp-configs/note-knowledge/mcp-summarizer.json +0 -21
- package/mcp-configs/note-knowledge/mediawiki-mcp.json +0 -21
- package/mcp-configs/note-knowledge/openzim-mcp.json +0 -20
- package/mcp-configs/note-knowledge/zettelkasten-mcp.json +0 -21
- package/mcp-configs/reference-mgr/academic-paper-mcp-http.json +0 -20
- package/mcp-configs/reference-mgr/academix.json +0 -20
- package/mcp-configs/reference-mgr/arxiv-cli.json +0 -17
- package/mcp-configs/reference-mgr/arxiv-research-mcp.json +0 -21
- package/mcp-configs/reference-mgr/arxiv-search-mcp.json +0 -17
- package/mcp-configs/reference-mgr/chiken.json +0 -17
- package/mcp-configs/reference-mgr/claude-scholar.json +0 -17
- package/mcp-configs/reference-mgr/devonthink-mcp.json +0 -17
- package/mcp-configs/reference-mgr/google-scholar-abstract-mcp.json +0 -19
- package/mcp-configs/reference-mgr/google-scholar-mcp.json +0 -20
- package/mcp-configs/reference-mgr/mcp-paperswithcode.json +0 -21
- package/mcp-configs/reference-mgr/mcp-scholarly.json +0 -20
- package/mcp-configs/reference-mgr/mcp-simple-arxiv.json +0 -20
- package/mcp-configs/reference-mgr/mcp-simple-pubmed.json +0 -20
- package/mcp-configs/reference-mgr/mcp-zotero.json +0 -21
- package/mcp-configs/reference-mgr/mendeley-mcp.json +0 -20
- package/mcp-configs/reference-mgr/ncbi-mcp-server.json +0 -22
- package/mcp-configs/reference-mgr/onecite.json +0 -21
- package/mcp-configs/reference-mgr/paper-search-mcp.json +0 -21
- package/mcp-configs/reference-mgr/pubmed-search-mcp.json +0 -21
- package/mcp-configs/reference-mgr/scholar-mcp.json +0 -21
- package/mcp-configs/reference-mgr/scholar-multi-mcp.json +0 -21
- package/mcp-configs/reference-mgr/seerai.json +0 -21
- package/mcp-configs/reference-mgr/semantic-scholar-fastmcp.json +0 -21
- package/mcp-configs/reference-mgr/sourcelibrary.json +0 -20
- package/mcp-configs/registry.json +0 -476
- package/mcp-configs/repository/dataverse-mcp.json +0 -33
- package/mcp-configs/repository/huggingface-mcp.json +0 -29
- package/skills/domains/business/xpert-bi-guide/SKILL.md +0 -84
- package/skills/domains/education/edumcp-guide/SKILL.md +0 -74
- package/skills/literature/search/paper-search-mcp-guide/SKILL.md +0 -107
- package/skills/tools/knowledge-graph/paperpile-notion-guide/SKILL.md +0 -84
- package/src/tools/semantic-scholar.ts +0 -112
package/src/tools/util.ts
CHANGED
|
@@ -9,3 +9,144 @@ export function toolResult(data: unknown) {
|
|
|
9
9
|
const text = JSON.stringify(data, null, 2);
|
|
10
10
|
return { content: [{ type: "text" as const, text }], details: data };
|
|
11
11
|
}
|
|
12
|
+
|
|
13
|
+
// ── Source Health Tracking ───────────────────────────────────────────────
|
|
14
|
+
|
|
15
|
+
interface SourceHealthEntry {
|
|
16
|
+
source: string;
|
|
17
|
+
total_calls: number;
|
|
18
|
+
successes: number;
|
|
19
|
+
failures: number;
|
|
20
|
+
last_status: number | null;
|
|
21
|
+
last_latency_ms: number | null;
|
|
22
|
+
last_error: string | null;
|
|
23
|
+
avg_latency_ms: number;
|
|
24
|
+
last_called: string | null;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const healthRegistry = new Map<string, SourceHealthEntry>();
|
|
28
|
+
|
|
29
|
+
function getOrCreateEntry(source: string): SourceHealthEntry {
|
|
30
|
+
let entry = healthRegistry.get(source);
|
|
31
|
+
if (!entry) {
|
|
32
|
+
entry = {
|
|
33
|
+
source,
|
|
34
|
+
total_calls: 0,
|
|
35
|
+
successes: 0,
|
|
36
|
+
failures: 0,
|
|
37
|
+
last_status: null,
|
|
38
|
+
last_latency_ms: null,
|
|
39
|
+
last_error: null,
|
|
40
|
+
avg_latency_ms: 0,
|
|
41
|
+
last_called: null,
|
|
42
|
+
};
|
|
43
|
+
healthRegistry.set(source, entry);
|
|
44
|
+
}
|
|
45
|
+
return entry;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function recordSuccess(entry: SourceHealthEntry, status: number, latencyMs: number) {
|
|
49
|
+
entry.total_calls++;
|
|
50
|
+
entry.successes++;
|
|
51
|
+
entry.last_status = status;
|
|
52
|
+
entry.last_latency_ms = latencyMs;
|
|
53
|
+
entry.last_error = null;
|
|
54
|
+
entry.last_called = new Date().toISOString();
|
|
55
|
+
entry.avg_latency_ms = Math.round(
|
|
56
|
+
(entry.avg_latency_ms * (entry.total_calls - 1) + latencyMs) / entry.total_calls,
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function recordFailure(entry: SourceHealthEntry, error: string, status?: number) {
|
|
61
|
+
entry.total_calls++;
|
|
62
|
+
entry.failures++;
|
|
63
|
+
entry.last_status = status ?? null;
|
|
64
|
+
entry.last_error = error;
|
|
65
|
+
entry.last_called = new Date().toISOString();
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface TrackedResponse {
|
|
69
|
+
res: Response;
|
|
70
|
+
latency_ms: number;
|
|
71
|
+
source: string;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Fetch with automatic source health tracking, timeout, and error handling.
|
|
76
|
+
*
|
|
77
|
+
* @param source - Source identifier (e.g. "europe_pmc", "dblp")
|
|
78
|
+
* @param url - Request URL
|
|
79
|
+
* @param options - Fetch options
|
|
80
|
+
* @param timeoutMs - Timeout in milliseconds (default: 10000)
|
|
81
|
+
* @returns TrackedResponse on success, or a toolResult error on failure
|
|
82
|
+
*/
|
|
83
|
+
export async function trackedFetch(
|
|
84
|
+
source: string,
|
|
85
|
+
url: string,
|
|
86
|
+
options?: RequestInit,
|
|
87
|
+
timeoutMs = 10_000,
|
|
88
|
+
): Promise<TrackedResponse | ReturnType<typeof toolResult>> {
|
|
89
|
+
const entry = getOrCreateEntry(source);
|
|
90
|
+
const start = Date.now();
|
|
91
|
+
|
|
92
|
+
try {
|
|
93
|
+
const res = await fetch(url, {
|
|
94
|
+
...options,
|
|
95
|
+
signal: AbortSignal.timeout(timeoutMs),
|
|
96
|
+
});
|
|
97
|
+
const latency = Date.now() - start;
|
|
98
|
+
|
|
99
|
+
if (!res.ok) {
|
|
100
|
+
recordFailure(entry, `HTTP ${res.status} ${res.statusText}`, res.status);
|
|
101
|
+
return toolResult({
|
|
102
|
+
error: `${source} API error: ${res.status} ${res.statusText}`,
|
|
103
|
+
_source_health: {
|
|
104
|
+
source,
|
|
105
|
+
status: res.status,
|
|
106
|
+
latency_ms: latency,
|
|
107
|
+
success_rate: entry.total_calls > 0
|
|
108
|
+
? `${Math.round((entry.successes / entry.total_calls) * 100)}%`
|
|
109
|
+
: "N/A",
|
|
110
|
+
},
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
recordSuccess(entry, res.status, latency);
|
|
115
|
+
return { res, latency_ms: latency, source };
|
|
116
|
+
} catch (err) {
|
|
117
|
+
const latency = Date.now() - start;
|
|
118
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
119
|
+
const isTimeout = message.includes("abort") || message.includes("timeout");
|
|
120
|
+
recordFailure(entry, isTimeout ? `Timeout after ${timeoutMs}ms` : message);
|
|
121
|
+
|
|
122
|
+
return toolResult({
|
|
123
|
+
error: `${source} ${isTimeout ? "timeout" : "network error"}: ${message}`,
|
|
124
|
+
_source_health: {
|
|
125
|
+
source,
|
|
126
|
+
latency_ms: latency,
|
|
127
|
+
success_rate: entry.total_calls > 0
|
|
128
|
+
? `${Math.round((entry.successes / entry.total_calls) * 100)}%`
|
|
129
|
+
: "N/A",
|
|
130
|
+
suggestion: isTimeout
|
|
131
|
+
? "This source is slow. Try a different source or reduce result count."
|
|
132
|
+
: "This source may be temporarily unavailable. Try an alternative.",
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Get health status for all tracked sources. Useful for agent decision-making.
|
|
140
|
+
*/
|
|
141
|
+
export function getSourceHealth(): SourceHealthEntry[] {
|
|
142
|
+
return Array.from(healthRegistry.values());
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Check if a tracked fetch result is an error (toolResult) or success (TrackedResponse).
|
|
147
|
+
*/
|
|
148
|
+
export function isTrackedError(
|
|
149
|
+
result: TrackedResponse | ReturnType<typeof toolResult>,
|
|
150
|
+
): result is ReturnType<typeof toolResult> {
|
|
151
|
+
return "content" in result && "details" in result;
|
|
152
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { Type } from "@sinclair/typebox";
|
|
2
|
+
import type { OpenClawPluginApi, OpenClawPluginToolContext } from "openclaw/plugin-sdk";
|
|
3
|
+
import { toolResult, trackedFetch, isTrackedError } from "./util.js";
|
|
4
|
+
|
|
5
|
+
const BASE = "https://zenodo.org/api";
|
|
6
|
+
|
|
7
|
+
export function createZenodoTools(
|
|
8
|
+
_ctx: OpenClawPluginToolContext,
|
|
9
|
+
_api: OpenClawPluginApi,
|
|
10
|
+
) {
|
|
11
|
+
return [
|
|
12
|
+
{
|
|
13
|
+
name: "search_zenodo",
|
|
14
|
+
label: "Search Records (Zenodo)",
|
|
15
|
+
description:
|
|
16
|
+
"Search Zenodo for open research data, software, publications, and other research outputs. Covers 3M+ records with DOIs. Uniquely includes datasets, software, presentations, and other non-publication outputs.",
|
|
17
|
+
parameters: Type.Object({
|
|
18
|
+
query: Type.String({ description: "Search query" }),
|
|
19
|
+
type: Type.Optional(
|
|
20
|
+
Type.String({
|
|
21
|
+
description:
|
|
22
|
+
"Resource type filter: 'publication', 'dataset', 'software', 'image', 'video', 'lesson', 'poster', 'presentation'",
|
|
23
|
+
}),
|
|
24
|
+
),
|
|
25
|
+
size: Type.Optional(
|
|
26
|
+
Type.Number({ description: "Max results (default 10, max 100)" }),
|
|
27
|
+
),
|
|
28
|
+
sort: Type.Optional(
|
|
29
|
+
Type.String({
|
|
30
|
+
description:
|
|
31
|
+
"Sort by: 'bestmatch' (relevance), 'mostrecent', '-mostrecent' (oldest first)",
|
|
32
|
+
}),
|
|
33
|
+
),
|
|
34
|
+
access_right: Type.Optional(
|
|
35
|
+
Type.String({
|
|
36
|
+
description: "Access filter: 'open', 'embargoed', 'restricted', 'closed'",
|
|
37
|
+
}),
|
|
38
|
+
),
|
|
39
|
+
}),
|
|
40
|
+
execute: async (input: {
|
|
41
|
+
query: string;
|
|
42
|
+
type?: string;
|
|
43
|
+
size?: number;
|
|
44
|
+
sort?: string;
|
|
45
|
+
access_right?: string;
|
|
46
|
+
}) => {
|
|
47
|
+
const params = new URLSearchParams({
|
|
48
|
+
q: input.query,
|
|
49
|
+
size: String(Math.min(input.size ?? 10, 100)),
|
|
50
|
+
});
|
|
51
|
+
if (input.type) params.set("type", input.type);
|
|
52
|
+
if (input.sort) params.set("sort", input.sort);
|
|
53
|
+
if (input.access_right) params.set("access_right", input.access_right);
|
|
54
|
+
|
|
55
|
+
const result = await trackedFetch("zenodo", `${BASE}/records?${params}`, undefined, 10_000);
|
|
56
|
+
if (isTrackedError(result)) return result;
|
|
57
|
+
const data = await result.res.json();
|
|
58
|
+
|
|
59
|
+
return toolResult({
|
|
60
|
+
total_results: data.hits?.total,
|
|
61
|
+
source: "zenodo",
|
|
62
|
+
records: data.hits?.hits?.map(
|
|
63
|
+
(h: Record<string, unknown>) => {
|
|
64
|
+
const meta = h.metadata as Record<string, unknown> | undefined;
|
|
65
|
+
const creators = meta?.creators as Array<{ name: string; affiliation?: string }> | undefined;
|
|
66
|
+
const resourceType = meta?.resource_type as Record<string, string> | undefined;
|
|
67
|
+
const license = meta?.license as Record<string, string> | undefined;
|
|
68
|
+
|
|
69
|
+
return {
|
|
70
|
+
id: h.id,
|
|
71
|
+
doi: meta?.doi ?? h.doi,
|
|
72
|
+
title: meta?.title ?? h.title,
|
|
73
|
+
authors: creators?.map((c) => c.name),
|
|
74
|
+
year: meta?.publication_date
|
|
75
|
+
? String(meta.publication_date).slice(0, 4)
|
|
76
|
+
: undefined,
|
|
77
|
+
publication_date: meta?.publication_date,
|
|
78
|
+
resource_type: resourceType?.type,
|
|
79
|
+
access_right: meta?.access_right,
|
|
80
|
+
keywords: meta?.keywords,
|
|
81
|
+
license: license?.id,
|
|
82
|
+
description: meta?.description
|
|
83
|
+
? String(meta.description).replace(/<[^>]*>/g, "").slice(0, 300)
|
|
84
|
+
: undefined,
|
|
85
|
+
url: (h.links as Record<string, string>)?.self_html
|
|
86
|
+
?? `https://zenodo.org/records/${h.id}`,
|
|
87
|
+
source: "zenodo",
|
|
88
|
+
};
|
|
89
|
+
},
|
|
90
|
+
),
|
|
91
|
+
_latency_ms: result.latency_ms,
|
|
92
|
+
});
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name: "get_zenodo_record",
|
|
97
|
+
label: "Get Record Details (Zenodo)",
|
|
98
|
+
description:
|
|
99
|
+
"Get full details of a specific Zenodo record by its numeric ID. Returns metadata, files, and download links.",
|
|
100
|
+
parameters: Type.Object({
|
|
101
|
+
record_id: Type.String({
|
|
102
|
+
description: "Zenodo record ID (numeric), e.g. '7042164'",
|
|
103
|
+
}),
|
|
104
|
+
}),
|
|
105
|
+
execute: async (input: { record_id: string }) => {
|
|
106
|
+
const id = input.record_id.replace(/\D/g, "");
|
|
107
|
+
const result = await trackedFetch("zenodo", `${BASE}/records/${id}`, undefined, 10_000);
|
|
108
|
+
if (isTrackedError(result)) return result;
|
|
109
|
+
const h = await result.res.json();
|
|
110
|
+
|
|
111
|
+
const meta = h.metadata as Record<string, unknown> | undefined;
|
|
112
|
+
const creators = meta?.creators as Array<{ name: string; affiliation?: string }> | undefined;
|
|
113
|
+
const resourceType = meta?.resource_type as Record<string, string> | undefined;
|
|
114
|
+
const license = meta?.license as Record<string, string> | undefined;
|
|
115
|
+
const files = h.files as Array<{ key: string; size: number; links?: Record<string, string> }> | undefined;
|
|
116
|
+
const stats = h.stats as Record<string, number> | undefined;
|
|
117
|
+
|
|
118
|
+
return toolResult({
|
|
119
|
+
id: h.id,
|
|
120
|
+
doi: meta?.doi ?? h.doi,
|
|
121
|
+
title: meta?.title ?? h.title,
|
|
122
|
+
authors: creators?.map((c) => c.name),
|
|
123
|
+
year: meta?.publication_date
|
|
124
|
+
? String(meta.publication_date).slice(0, 4)
|
|
125
|
+
: undefined,
|
|
126
|
+
publication_date: meta?.publication_date,
|
|
127
|
+
description: meta?.description
|
|
128
|
+
? String(meta.description).replace(/<[^>]*>/g, "")
|
|
129
|
+
: undefined,
|
|
130
|
+
resource_type: resourceType?.type,
|
|
131
|
+
access_right: meta?.access_right,
|
|
132
|
+
keywords: meta?.keywords,
|
|
133
|
+
license: license?.id,
|
|
134
|
+
version: meta?.version,
|
|
135
|
+
files: files?.map((f) => ({
|
|
136
|
+
filename: f.key,
|
|
137
|
+
size_bytes: f.size,
|
|
138
|
+
download_url: f.links?.self,
|
|
139
|
+
})),
|
|
140
|
+
stats: stats
|
|
141
|
+
? {
|
|
142
|
+
downloads: stats.downloads,
|
|
143
|
+
views: stats.views,
|
|
144
|
+
}
|
|
145
|
+
: undefined,
|
|
146
|
+
url: (h.links as Record<string, string>)?.self_html
|
|
147
|
+
?? `https://zenodo.org/records/${h.id}`,
|
|
148
|
+
source: "zenodo",
|
|
149
|
+
_latency_ms: result.latency_ms,
|
|
150
|
+
});
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
];
|
|
154
|
+
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "ChatSpatial",
|
|
3
|
-
"name": "ChatSpatial",
|
|
4
|
-
"description": "Spatial transcriptomics analysis via natural language",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "python",
|
|
8
|
-
"package": "ChatSpatial",
|
|
9
|
-
"command": "pip install ChatSpatial"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["load_data", "identify_domains", "visualize"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/cafferychen777/ChatSpatial"
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "academia-mcp",
|
|
3
|
-
"name": "Academia MCP",
|
|
4
|
-
"description": "Tools for automatic scientific research",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "python",
|
|
8
|
-
"package": "academia-mcp",
|
|
9
|
-
"command": "pip install academia-mcp"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["search", "analyze"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/IlyaGusev/academia_mcp"
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "academic-paper-explorer",
|
|
3
|
-
"name": "Academic Paper Explorer",
|
|
4
|
-
"description": "Academic paper discovery via arXiv and Semantic Scholar",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "node",
|
|
8
|
-
"package": "academic-paper-explorer",
|
|
9
|
-
"command": "npm install -g academic-paper-explorer"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["search", "read_paper", "find_code"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/Leonard013/academic-paper-explorer"
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "academic-search-mcp-server",
|
|
3
|
-
"name": "Academic Paper Search",
|
|
4
|
-
"description": "Academic Paper Search MCP for Semantic Scholar and Crossref APIs",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "python",
|
|
8
|
-
"package": "academic-search-mcp-server",
|
|
9
|
-
"command": "pip install academic-search-mcp-server"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["search_papers", "fetch_paper_details", "search_by_topic"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/afrise/academic-search-mcp-server"
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "agentinterviews-mcp",
|
|
3
|
-
"name": "Agent Interviews",
|
|
4
|
-
"description": "AI-powered qualitative research interviews at scale",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "python",
|
|
8
|
-
"package": "agentinterviews-mcp",
|
|
9
|
-
"command": "pip install agentinterviews-mcp"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["create_interviewer", "manage_project", "analyze_data"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/thinkchainai/agentinterviews_mcp"
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "all-in-mcp",
|
|
3
|
-
"name": "All-in MCP",
|
|
4
|
-
"description": "Academic paper search and PDF processing",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "python",
|
|
8
|
-
"package": "all-in-mcp",
|
|
9
|
-
"command": "pip install all-in-mcp"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["search", "process_pdf"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/isomoes/all-in-mcp"
|
|
17
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "alphafold-mcp",
|
|
3
|
-
"name": "AlphaFold MCP",
|
|
4
|
-
"description": "AlphaFold Protein Structure Database for structure prediction",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "node",
|
|
8
|
-
"package": "alphafold-mcp-server",
|
|
9
|
-
"command": "npm install -g alphafold-mcp-server"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": [
|
|
15
|
-
"get_structure",
|
|
16
|
-
"search_protein"
|
|
17
|
-
],
|
|
18
|
-
"verified": false,
|
|
19
|
-
"source": "https://github.com/ac3xx/AlphaFold-MCP-Server"
|
|
20
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "apple-health-mcp",
|
|
3
|
-
"name": "Apple Health Data",
|
|
4
|
-
"description": "Access exported Apple Health data with analytics",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "python",
|
|
8
|
-
"package": "apple-health-mcp-server",
|
|
9
|
-
"command": "pip install apple-health-mcp-server"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["read_health_data", "analyze_trends", "export_data"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/the-momentum/apple-health-mcp-server"
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "arxiv-latex-mcp",
|
|
3
|
-
"name": "arXiv LaTeX Source",
|
|
4
|
-
"description": "Access arXiv papers via LaTeX source for better math handling",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "python",
|
|
8
|
-
"package": "arxiv-latex-mcp",
|
|
9
|
-
"command": "pip install arxiv-latex-mcp"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["get_paper_prompt", "get_paper_abstract", "list_paper_sections", "get_paper_section"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/takashiishida/arxiv-latex-mcp"
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "arxiv-mcp-server",
|
|
3
|
-
"name": "arXiv Search",
|
|
4
|
-
"description": "Search ArXiv research papers",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "python",
|
|
8
|
-
"package": "arxiv-mcp-server",
|
|
9
|
-
"command": "pip install arxiv-mcp-server"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["search_arxiv"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/blazickjp/arxiv-mcp-server"
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "bgpt-mcp",
|
|
3
|
-
"name": "BGPT Paper Search",
|
|
4
|
-
"description": "Search paper data from any AI tool",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "node",
|
|
8
|
-
"package": "bgpt-mcp",
|
|
9
|
-
"command": "npm install -g bgpt-mcp"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["search_papers"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/connerlambden/bgpt-mcp"
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "biomcp",
|
|
3
|
-
"name": "BioMCP",
|
|
4
|
-
"description": "Biomedical research MCP for PubMed, ClinicalTrials, and MyVariant",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "python",
|
|
8
|
-
"package": "biomcp",
|
|
9
|
-
"command": "pip install biomcp"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["search_pubmed", "search_clinical_trials", "search_variants"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/genomoncology/biomcp"
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "biothings-mcp",
|
|
3
|
-
"name": "BioThings API",
|
|
4
|
-
"description": "BioThings API for genes, variants, drugs, and taxonomy",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "python",
|
|
8
|
-
"package": "biothings-mcp",
|
|
9
|
-
"command": "pip install biothings-mcp"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["gene_query", "variant_query", "drug_query"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/longevity-genie/biothings-mcp"
|
|
17
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "brightspace-mcp",
|
|
3
|
-
"name": "Brightspace LMS MCP",
|
|
4
|
-
"description": "D2L Brightspace LMS: grades, assignments, announcements",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "node",
|
|
8
|
-
"package": "brightspace-mcp-server",
|
|
9
|
-
"command": "npm install -g brightspace-mcp-server"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": [
|
|
15
|
-
"get_grades",
|
|
16
|
-
"get_assignments",
|
|
17
|
-
"get_announcements"
|
|
18
|
-
],
|
|
19
|
-
"verified": false,
|
|
20
|
-
"source": "https://github.com/jjohare/brightspace-mcp-server"
|
|
21
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "catalysishub-mcp-server",
|
|
3
|
-
"name": "Catalysis Hub",
|
|
4
|
-
"description": "Search Catalysis Hub database for computational catalysis",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "python",
|
|
8
|
-
"package": "catalysishub-mcp-server",
|
|
9
|
-
"command": "pip install catalysishub-mcp-server"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["search_reactions", "get_surface_data"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/QuentinCody/catalysishub-mcp-server"
|
|
17
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "climatiq-mcp",
|
|
3
|
-
"name": "Climatiq Carbon MCP",
|
|
4
|
-
"description": "Carbon emissions calculations via Climatiq API",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "node",
|
|
8
|
-
"package": "climatiq-mcp-server",
|
|
9
|
-
"command": "npm install -g climatiq-mcp-server"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": [
|
|
15
|
-
"estimate",
|
|
16
|
-
"get_factors"
|
|
17
|
-
],
|
|
18
|
-
"verified": false,
|
|
19
|
-
"source": "https://github.com/Climatiq/climatiq-mcp-server"
|
|
20
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "clinicaltrialsgov-mcp-server",
|
|
3
|
-
"name": "ClinicalTrials.gov",
|
|
4
|
-
"description": "ClinicalTrials.gov v2 API search and analysis",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "node",
|
|
8
|
-
"package": "clinicaltrialsgov-mcp-server",
|
|
9
|
-
"command": "npm install -g clinicaltrialsgov-mcp-server"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["search_studies", "get_study", "analyze_trends", "compare_studies", "find_eligible_studies"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/cyanheads/clinicaltrialsgov-mcp-server"
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "deep-research-mcp",
|
|
3
|
-
"name": "Deep Research",
|
|
4
|
-
"description": "Deep research via OpenAI or open models",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "python",
|
|
8
|
-
"package": "deep-research-mcp",
|
|
9
|
-
"command": "pip install deep-research-mcp"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["conduct_research", "analyze_sources", "generate_report"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/pminervini/deep-research-mcp"
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "dicom-mcp",
|
|
3
|
-
"name": "DICOM Medical Imaging",
|
|
4
|
-
"description": "DICOM integration for medical imaging",
|
|
5
|
-
"category": "academic-db",
|
|
6
|
-
"install": {
|
|
7
|
-
"runtime": "python",
|
|
8
|
-
"package": "dicom-mcp",
|
|
9
|
-
"command": "pip install dicom-mcp"
|
|
10
|
-
},
|
|
11
|
-
"config": {
|
|
12
|
-
"env": {}
|
|
13
|
-
},
|
|
14
|
-
"tools": ["query_studies", "get_images", "move_images"],
|
|
15
|
-
"verified": false,
|
|
16
|
-
"source": "https://github.com/ChristianHinge/dicom-mcp"
|
|
17
|
-
}
|