ToolUniverse plugin
A Claude Code plugin and MCP server: over 1000 scientific tools for biology, chemistry and medicine, data-check commands and routing skills
- 1,764 ★ on the repository
- Last commit
- Apache-2.0
Broad access
Why this level
- The server starts through uvx and runs package code, and the analysis scripts call Python and R on your files
- The session-start hook deletes tooluniverse-* skill folders from the Claude home directory if they remain from an old install
- Requests with gene, drug and sample names go to outside data providers, and keys are saved to a .env file
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add plugins/tooluniverseDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The server starts through uvx and runs package code, and the analysis scripts call Python and R on your files
- The session-start hook deletes tooluniverse-* skill folders from the Claude home directory if they remain from an old install
- Requests with gene, drug and sample names go to outside data providers, and keys are saved to a .env file
This is third-party code. Review the repository files before installing.
What it does
ToolUniverse is a project from Marinka Zitnik's lab at Harvard that gives an agent over 1000 scientific tools: databases, interfaces and packages for genetics, chemistry, medicine and data analysis. Through the MCP server the agent gets four entry points: search for a tool by topic, list, describe and run. Requests go to outside providers such as UniProt, PubMed, openFDA, ChEMBL and ClinicalTrials.gov, while the server itself runs on your computer. The Claude Code plugin connects this server through uvx and adds a router skill. When count tables, VCF, FASTA or h5ad files sit nearby, the router identifies the type of analysis and hands the task to a specialist skill: differential expression, pathway enrichment, statistical modeling, variants, phylogenetics, single cells. If an executed Jupyter notebook is next to the data, its results are read first. Separate commands fix the working order: mapping identifiers across databases, checking a claim against three independent sources, comparing several items, a literature sweep over PubMed, Europe PMC and Semantic Scholar, a self-review of the work and key setup. The researcher agent runs such an investigation in a separate context and returns one summary. For scripts there is the `tu` command line tool and a Python package.
Who it is for. For bioinformaticians, medical and chemistry researchers and analysts who want to search scientific databases and work through data straight from Claude Code.
Good fit when
- You need to take a gene name, find its identifiers in UniProt, Ensembl, NCBI and ChEMBL and put them in one table
- You have a count table and a sample description and need differential expression along a ready analysis route
- Before publishing you must check a claim against three independent databases and see where sources disagree
- You need a quick literature overview of a topic with duplicates removed and a reading order
- The agent should find the right scientific tool among a thousand without loading them all into context
Not a fit when
- You have an Apple Silicon Mac on macOS 13 or older: the vector search tools need macOS 14
- You need local models or plotting without extra groups: the base install covers only tools built on database interfaces
- You cannot send gene names, drug names and sample identifiers to outside data providers: database requests go over the network
- You only need PubMed and ClinicalTrials.gov search in a single binary; BioMCP in the catalog covers that
Example request
Find the EGFR gene identifiers in UniProt, Ensembl and ChEMBL, then list the known drug resistance mutations and cross-check them against at least three databasesLimitations
The plugin needs uv: it starts the server through uvx, without it the tools do not appear, and a reminder is printed at session start. The package needs Python 3.10 or newer, and system pip on a recent Mac refuses to install the package because of environment protection, so the author recommends uv.
The base install covers the tools built on database interfaces. Local models, cheminformatics and plotting need extra groups, for example `tooluniverse[all]`; the pdf, singlecell, smolagents, client and build groups are not in it. The `tooluniverse-doctor` command shows which groups are missing.
Many tools work without keys, but some databases want their own key, for example OncoKB for academic users. Keys are kept in a `.env` file in `~/.tooluniverse` or in the project folder.
The copy in the Claude Desktop extensions directory is outdated and fails to start; the author offers other install routes in the project description.
At session start the plugin once deletes the tooluniverse-*, create-tooluniverse-skill and setup-tooluniverse folders from `~/.claude/skills` if they remain from an earlier install.
How to disable. Disable or remove the tooluniverse plugin through the /plugin menu in Claude Code and restart it. If you added the server to the MCP configuration by hand, delete the tooluniverse entry. Keys stay in `.env` in `~/.tooluniverse` or in the project folder: delete the file yourself.
FAQ
What do the four MCP server tools do?
They are `find_tools`, `list_tools`, `get_tool_info` and `execute_tool`: search by topic, a listing, a description and a run of the chosen tool. This mode cuts context use: instead of a thousand descriptions the agent holds four and loads the rest on demand.
Where do my requests go?
The call arguments are sent to the data provider behind the tool: a protein name goes to UniProt, a drug name to openFDA. The server runs on your machine, and the project collects no telemetry, analytics or conversation data. Keys go only to the service they belong to.
How does the cross-validate command differ from an ordinary question?
It makes the agent check a claim against at least three independent databases and show agreement for each source. An ordinary question can be settled with one answer, while here disagreements are visible at once.
When should I use the researcher agent and when the research command?
The research command runs the investigation in your chat: every step is visible and you can interrupt and refine. The researcher agent works in a separate context and returns one summary. It suits cases where intermediate calls should not clutter the main conversation.
How do I handle many genes or compounds at once?
For five or more calls in a loop the author recommends the Python package over `tu run` in a shell loop: the tool registry loads once, and each call does not spend time on startup.
Does the project work with models other than Claude?
The author names compatibility with Claude, GPT, Gemini, Qwen, Deepseek and open models. The ready plugin with commands and the agent is built for Claude Code; for other setups you connect the MCP server or the Python package.
Discussion
No questions or reviews yet.
Related
PluginsLife Sciences: Anthropic's marketplace for Claude Code
Life Sciences Marketplace
Anthropic's official plugin marketplace for biology and medicine: PubMed, BioRender, Synapse, ChEMBL, ClinicalTrials.gov and data analysis skills
MCP server that connects Claude Code and Codex to an open R or Python session in RStudio and Positron, where your data lives
A Google DeepMind skill collection for science tasks: access to biology and chemistry databases, literature search and structural biology
BioMCP
biomcp
One binary and a single command grammar for 70 biomedical sources: PubMed, ClinVar, ClinicalTrials.gov, OncoKB. MCP mode starts with the serve command
Connects a Zotero library to Claude and other agents: search papers, annotate, cite, and search by meaning
An MCP server for searching and downloading academic papers from arXiv, PubMed, bioRxiv, Semantic Scholar and other open sources
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| ToolUniverse (this entry) | no | not required | 1,764 | |
| BioMCP | no | not required | 668 | one binary with a single command grammar for 70 biomedical sources, MCP mode starts with the serve command |
| Life Sciences: Anthropic's marketplace for Claude Code | yes | 632 | Anthropic's marketplace with 21 plugins for biology and medicine, each connected separately | |
| OmopHub MCP | yes | API key | a medical code reference for your agent |
README in short
The project description opens with the install routes: tell an agent to read the setup page, add the server to the MCP configuration, install the Claude Code plugin with a pair of commands or use the Python package. It then lists the features: an exchange protocol between model and tools, the MCP server, async tasks, tool composition, a compact mode, a command line tool, a set of ready research skills, unified literature search and a two-level result cache. The repository holds documentation, tests, BixBench and LAB-Bench reproduction runs, example projects built on ToolUniverse, a privacy policy and a link to the arXiv paper.
README badge
Original SKILL.md
--- name: tooluniverse description: "ToolUniverse plugin router. STEP 1 BEFORE ANY ANALYSIS: if the data folder contains `*_executed.ipynb`, run `tu run read_executed_notebook ...` to extract its cell outputs and apply EVERY filter/sample-exclusion the notebook used. STEP 2 routing: pick a sub-skill name from the exact list (tooluniverse-rnaseq-deseq2, tooluniverse-gene-enrichment, tooluniverse-statistical-modeling, tooluniverse-image-analysis, tooluniverse-epigenomics, tooluniverse-sequence-analysis, tooluniverse-variant-analysis, tooluniverse-phylogenetics, tooluniverse-single-cell, tooluniverse-crispr-screen-analysis, tooluniverse-proteomics-analysis)." when_to_use: "Activate when the user provides data files to analyze, asks about differential expression, runs statistical tests on clinical data, performs variant analysis, does pathway enrichment, builds phylogenetic trees, or asks any scientific research question." paths: "*.csv,*.xlsx,*.tsv,*.vcf,*.fa,*.fasta,*.faa,*.h5ad,*.rds,*.bam" --- # ToolUniverse Router ## FIRST ACTION: Route to a Specialized Skill **BEFORE doing anything else** scan the routing table below and invoke the matching skill. The specialized skill contains critical domain conventions that you will get wrong without loading.