Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0f20c2709a | ||
|
|
1f0c27ea70 |
@@ -1,8 +1,8 @@
|
||||
---
|
||||
lineage_type: import
|
||||
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/e2520a96/skills/setup-tooluniverse/SKILL.md
|
||||
upstream_sha: e2520a96
|
||||
imported_at: 2026-06-26
|
||||
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/089eb8e6/skills/setup-tooluniverse/SKILL.md
|
||||
upstream_sha: 089eb8e6
|
||||
imported_at: 2026-07-25
|
||||
prompt_class: catalogue
|
||||
upstream_changes: accepted
|
||||
name: setup-tooluniverse
|
||||
@@ -68,7 +68,7 @@ Make sure Step 2 is done, then try:
|
||||
uvx --from tooluniverse tu status # How many tools?
|
||||
uvx --from tooluniverse tu find 'drug safety' # Search by topic
|
||||
uvx --from tooluniverse tu info FAERS_count_death_related_by_drug # See params
|
||||
uvx --from tooluniverse tu run FAERS_count_death_related_by_drug '{"drug_name": "metformin"}'
|
||||
uvx --from tooluniverse tu run FAERS_count_death_related_by_drug '{"medicinalproduct": "metformin"}'
|
||||
```
|
||||
|
||||
First run takes ~30s (downloads package), then instant. **Shortcut**: `uv tool install tooluniverse` → then just use `tu` directly.
|
||||
@@ -84,7 +84,7 @@ First run takes ~30s (downloads package), then instant. **Shortcut**: `uv tool i
|
||||
| `tu info` | Show tool parameters and schema | `tu info PubMed_search_articles` |
|
||||
| `tu run` | Execute a tool | `tu run PubMed_search_articles '{"query": "CRISPR"}'` |
|
||||
| `tu test` | Test a tool with its example inputs | `tu test UniProt_get_entry_by_accession` |
|
||||
| `tu build` | Generate typed Python wrappers for Coding API | `tu build --output ./my_tools` |
|
||||
| `tu build` | Generate typed Python wrappers for Coding API (also regenerates the internal lazy-load registry in place — unaffected by `--output`) | `tu build --output ./my_tools` |
|
||||
| `tu serve` | Start MCP stdio server (same as `uvx tooluniverse`) | `tu serve` |
|
||||
|
||||
**Output flags** (most commands except `build`/`serve`): `--json` (pretty) or `--raw` (compact, pipe-friendly).
|
||||
@@ -93,12 +93,30 @@ Continue to **Step 3** (API Keys).
|
||||
|
||||
## SDK Setup
|
||||
|
||||
Make sure Step 2 is done. For detailed patterns, invoke the `tooluniverse-sdk` skill.
|
||||
> **Install `uv` first (Step 2). Do not use system `pip`.** On a current Mac
|
||||
> (Homebrew Python 3.13/3.14) `pip install tooluniverse` stops with
|
||||
> `error: externally-managed-environment` (PEP 668), and `python3 -m venv` can
|
||||
> fail at `ensurepip`. `uv` avoids both because it downloads and manages its own
|
||||
> Python.
|
||||
|
||||
```bash
|
||||
uv venv --python 3.12 # own Python + virtualenv, ignores system pip
|
||||
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
||||
uv pip install tooluniverse
|
||||
```
|
||||
|
||||
`uv pip install` needs an active virtualenv — run `uv venv` first, or use
|
||||
`uv tool install tooluniverse` if you only want the `tu` command.
|
||||
|
||||
For detailed patterns, invoke the `tooluniverse-sdk` skill.
|
||||
|
||||
**Optional extras**: the base install covers API/database tools. Local ML,
|
||||
cheminformatics, and plotting tools need extras — `uv pip install
|
||||
'tooluniverse[ml]'`, `[visualization]`, `[bioinformatics]`, or `[all]`.
|
||||
Run `tooluniverse-doctor` to see which groups you are missing.
|
||||
Note `[all]` does **not** include `singlecell`, `smolagents`, `client`, or
|
||||
`build`; install those separately.
|
||||
|
||||
### Coding API — 3 calling patterns
|
||||
|
||||
**Pattern 1: Direct import** (typed, with autocomplete):
|
||||
@@ -130,9 +148,33 @@ Continue to **Step 3** (API Keys).
|
||||
|
||||
## MCP Setup (Chat Mode)
|
||||
|
||||
Make sure Step 2 is done (`uv --version` works).
|
||||
**Offer the two low-effort paths first.** Editing JSON by hand is the fallback,
|
||||
not the recommendation — a mistyped comma is the single most common setup
|
||||
failure. Only walk through the manual path if neither option below fits.
|
||||
|
||||
### Add ToolUniverse to your app's config
|
||||
**Path A — let an AI agent do it.** If the user already has any agent (Claude,
|
||||
Cursor, Copilot, Gemini, Codex...), they can paste this into it:
|
||||
|
||||
```
|
||||
Read https://aiscientist.tools/setup.md and set up ToolUniverse for me.
|
||||
```
|
||||
|
||||
The agent handles config, keys, skills, and validation. No terminal, no JSON.
|
||||
|
||||
**Path B — Claude Code users: one-liner, no config file at all.**
|
||||
|
||||
```bash
|
||||
claude plugin marketplace add mims-harvard/ToolUniverse
|
||||
claude plugin install tooluniverse@tooluniverse
|
||||
```
|
||||
|
||||
Installs MCP server + 115 skills + slash commands in one step. Then see the
|
||||
`tooluniverse-claude-code-plugin` skill's "Recommended: turn on auto-update"
|
||||
step so future releases apply without manual `claude plugin update`.
|
||||
|
||||
### Manual config (fallback)
|
||||
|
||||
Make sure Step 2 is done (`uv --version` works).
|
||||
|
||||
**Config file help** (if user seems unfamiliar): Config files are plain text that store settings — like a preference list for the app. You don't need to understand the format; just paste exactly what's shown below. Most apps have a Settings button that opens the file for you (see table). If the file is empty, paste the entire block. If it already has content, the agent should help merge it.
|
||||
|
||||
@@ -149,14 +191,23 @@ Make sure Step 2 is done (`uv --version` works).
|
||||
}
|
||||
```
|
||||
|
||||
**Config file locations:**
|
||||
|
||||
> **Claude Code users**: skip manual MCP config — use the plugin instead. Invoke the `tooluniverse-claude-code-plugin` skill or run:
|
||||
> **Paste safely.** Copy the block whole — do not retype it. If the file already
|
||||
> has an `mcpServers` block, add only the `"tooluniverse": { ... }` entry inside
|
||||
> it and put a comma after the previous entry. If the file was empty, paste the
|
||||
> whole block. Then validate before restarting the app:
|
||||
> ```bash
|
||||
> claude plugin marketplace add mims-harvard/ToolUniverse
|
||||
> claude plugin install tooluniverse@tooluniverse
|
||||
> python3 -m json.tool < "<path-to-config>" > /dev/null && echo "JSON OK"
|
||||
> ```
|
||||
> This installs MCP server + 115 skills + slash commands in one step.
|
||||
> A trailing comma after the last entry, or a missing one between entries, is
|
||||
> the usual cause of "MCP server won't start".
|
||||
|
||||
**`args` — `["tooluniverse"]` vs `["--refresh", "tooluniverse"]`**: plain is the
|
||||
default and starts fast from `uv`'s cache, but can stay on a cached older
|
||||
release until you run `uv cache clean tooluniverse`. Adding `--refresh` checks
|
||||
PyPI for the newest version on every launch — always current, a few seconds
|
||||
slower to start. Use plain unless the user specifically wants auto-updates.
|
||||
|
||||
**Config file locations:**
|
||||
|
||||
| Client | File | How to Access |
|
||||
|--------|------|---------------|
|
||||
@@ -302,7 +353,7 @@ Skills activate automatically based on user's question. Try: "Research the drug
|
||||
> tu info PubMed_search_articles # Check parameters
|
||||
> tu run PubMed_search_articles '{"query": "CRISPR cancer", "max_results": 3}'
|
||||
> tu run UniProt_get_entry_by_accession '{"accession": "P12345"}'
|
||||
> tu run FAERS_count_death_related_by_drug '{"drug_name": "metformin"}'
|
||||
> tu run FAERS_count_death_related_by_drug '{"medicinalproduct": "metformin"}'
|
||||
> ```
|
||||
|
||||
## Write Agent Memory
|
||||
@@ -352,14 +403,26 @@ NVIDIA_API_KEY=your_shared_key
|
||||
|
||||
| Issue | Fix |
|
||||
|-------|-----|
|
||||
| `error: externally-managed-environment` (PEP 668) | System `pip` refuses to install. Use `uv` — `uv venv --python 3.12 && source .venv/bin/activate && uv pip install tooluniverse`. Never `sudo pip` or `--break-system-packages`. |
|
||||
| `python3 -m venv` fails at `ensurepip` | Homebrew Python (3.13/3.14) is missing a working `ensurepip`. Use `uv venv --python 3.12` — `uv` supplies its own Python. |
|
||||
| `uv pip install` → "No virtual environment found" | Run `uv venv` first, or use `uv tool install tooluniverse` for just the `tu` command. |
|
||||
| `requires-python >= 3.10` | `uv python install 3.12` |
|
||||
| `uvx: command not found` | Run install script from Step 2, restart terminal |
|
||||
| Context window overflow | Verify using `uvx tooluniverse` (compact mode is default) |
|
||||
| `ModuleNotFoundError` | `uv pip install tooluniverse[all]` |
|
||||
| MCP server won't start | Test: `uvx tooluniverse` in terminal. Check JSON syntax. |
|
||||
| `ModuleNotFoundError` at tool runtime | An optional extra is missing. Run `tooluniverse-doctor` to see which group, then `uv pip install 'tooluniverse[ml]'` (or `[visualization]`, `[bioinformatics]`, `[all]`). |
|
||||
| Tools listed but fail when run | Normal for extras-backed tools — `tu status` counts loaded configs, not installed dependencies. `tooluniverse-doctor` reports which groups are missing. |
|
||||
| MCP server won't start | Test: `uvx tooluniverse` in terminal. Validate config with `python3 -m json.tool < <config>`. |
|
||||
| API key 401/403 | Check key in `env` block, restart app, verify key name |
|
||||
| Upgrade needed | `uv cache clean tooluniverse` then restart app |
|
||||
|
||||
**Health check**: `tooluniverse-doctor` reports tools that failed to load *and*
|
||||
which optional dependency groups are not installed. Use it first whenever a tool
|
||||
errors unexpectedly.
|
||||
|
||||
**`[all]` is not everything**: it covers `dev, docs, graph, visualization,
|
||||
space, embedding, ml, bioinformatics`. `singlecell`, `smolagents`, `client`,
|
||||
and `build` must be installed by name.
|
||||
|
||||
Still stuck? [GitHub issues](https://github.com/mims-harvard/ToolUniverse/issues) or email [Shanghua Gao](mailto:[email protected]).
|
||||
|
||||
## Quick Reference
|
||||
|
||||
+23
-3
@@ -1,8 +1,8 @@
|
||||
---
|
||||
lineage_type: import
|
||||
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/e2520a96/skills/tooluniverse-admet-prediction/SKILL.md
|
||||
upstream_sha: e2520a96
|
||||
imported_at: 2026-06-26
|
||||
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/089eb8e6/skills/tooluniverse-admet-prediction/SKILL.md
|
||||
upstream_sha: 089eb8e6
|
||||
imported_at: 2026-07-25
|
||||
prompt_class: unknown
|
||||
upstream_changes: accepted
|
||||
name: tooluniverse-admet-prediction
|
||||
@@ -33,6 +33,26 @@ Comprehensive pharmacokinetic and toxicity profiling integrating AI-based ADMET
|
||||
|
||||
**Input**: Drug name (e.g., "ibuprofen") OR SMILES string (e.g., "CC(C)Cc1ccc(cc1)C(C)C(=O)O")
|
||||
|
||||
## Before You Run
|
||||
|
||||
ADMETAI tools run a local model, so they need the `ml` extra:
|
||||
|
||||
```bash
|
||||
uv pip install 'tooluniverse[ml]'
|
||||
```
|
||||
|
||||
Without it the tools still appear in `tu list` (the config loads) but fail at
|
||||
call time with `ADMETModel requires 'admet-ai' package`. Run
|
||||
`tooluniverse-doctor` to confirm which optional groups are installed.
|
||||
|
||||
**Expected console noise — not errors.** The first ADMETAI call loads PyTorch
|
||||
and prints warnings such as missing-GPU / `Trainer` messages from
|
||||
PyTorch Lightning, and `TypedStorage is deprecated` from PyTorch. These are
|
||||
emitted by the underlying libraries during normal CPU inference. Predictions
|
||||
are unaffected — do not report them to the user as failures and do not retry
|
||||
the call because of them. Only treat output as a failure if the tool returns an
|
||||
`error` field or no predictions.
|
||||
|
||||
---
|
||||
|
||||
## COMPUTE, DON'T DESCRIBE
|
||||
|
||||
-115
@@ -1,115 +0,0 @@
|
||||
---
|
||||
lineage_type: import
|
||||
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/beea85fa/skills/tooluniverse-antigravity-plugin/SKILL.md
|
||||
upstream_sha: beea85fa
|
||||
imported_at: 2026-07-21
|
||||
prompt_class: unknown
|
||||
upstream_changes: accepted
|
||||
name: tooluniverse-antigravity-plugin
|
||||
description: Install, set up, verify, update, pin, uninstall, or troubleshoot the ToolUniverse plugin on Google Antigravity (AGY / Antigravity IDE / Antigravity 2.0). ALWAYS consult this skill for any of those — don't answer from memory, because the exact CLI name (agy), the "agy plugin install <path>" flow, the uvx tooluniverse MCP server, and the API-key env vars are easy to get wrong. Use it whenever someone wants to get ToolUniverse (or "the 1000+ scientific tools" / "the harvard tools") working on Antigravity, says the Antigravity plugin or its tools/skills won't load, hits a uvx or MCP-server startup error, asks how Antigravity updates it, wants to pin or remove it, or finds it running an old tool version. Not for the Codex plugin (use tooluniverse-codex-plugin) or Claude Code plugin (use tooluniverse-claude-code-plugin), for running research with the tools, or for authoring new tools or skills.
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
# Install the ToolUniverse Plugin for Google Antigravity (AGY)
|
||||
|
||||
One-step install on Google Antigravity (AGY / Antigravity IDE / Antigravity 2.0): an MCP server exposing 1000+ scientific tools plus 120+ research skills — all auto-configured.
|
||||
|
||||
## Prerequisites (check once)
|
||||
|
||||
```bash
|
||||
uv --version # provides `uvx`; if missing: curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
agy --version # Antigravity CLI; if missing: https://antigravity.google
|
||||
```
|
||||
|
||||
## Install
|
||||
|
||||
In Antigravity, plugins can be installed using the `agy` CLI:
|
||||
|
||||
### Option 1: Direct path / imported plugin install (recommended)
|
||||
|
||||
```bash
|
||||
# If installed via Claude Code / Codex marketplace cache or cloned repo:
|
||||
agy plugin install /path/to/ToolUniverse/plugin
|
||||
```
|
||||
|
||||
### Option 2: Clone + install
|
||||
|
||||
```bash
|
||||
git clone https://github.com/mims-harvard/ToolUniverse.git
|
||||
cd ToolUniverse
|
||||
agy plugin install ./plugin
|
||||
```
|
||||
|
||||
Restart Antigravity. The MCP server auto-starts via `uvx tooluniverse` on first use (~30 s cold start while the package downloads, instant after).
|
||||
|
||||
## Verify it worked
|
||||
|
||||
```bash
|
||||
agy plugin list
|
||||
```
|
||||
|
||||
Expect output showing `tooluniverse` under `imports`:
|
||||
|
||||
```json
|
||||
{
|
||||
"imports": [
|
||||
{
|
||||
"name": "tooluniverse",
|
||||
"source": "claude-code",
|
||||
"components": [
|
||||
"skills",
|
||||
"agents",
|
||||
"mcpServers",
|
||||
"hooks",
|
||||
"commands"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Inside Antigravity, just ask naturally:
|
||||
|
||||
```
|
||||
What are the top mutated genes in breast cancer?
|
||||
Research the drug metformin.
|
||||
```
|
||||
|
||||
The research skills auto-activate on matching questions, and the MCP tools are discovered and run via `find_tools` → `execute_tool` — no command prefix needed.
|
||||
|
||||
## What you get
|
||||
|
||||
| Component | What it does | How it's used |
|
||||
|---|---|---|
|
||||
| **MCP server** | 1000+ tools via `find_tools`, `get_tool_info`, `execute_tool` | Auto-loaded; no action needed |
|
||||
| **120+ skills** | Structured research workflows (drug discovery, variant interpretation, pharmacovigilance, phylogenetics, statistical modeling, etc.) | Auto-activate on matching questions |
|
||||
| **Research agent** | Autonomous multi-database research subagent | Auto-routed on complex research tasks |
|
||||
|
||||
## API keys (optional, but recommended)
|
||||
|
||||
Most tools work without keys. For higher rate limits or gated databases, set the keys you care about in `~/.gemini/config/plugins/tooluniverse/mcp_config.json` or pass them in environment variables:
|
||||
|
||||
```bash
|
||||
export NCBI_API_KEY="your_key"
|
||||
export ONCOKB_API_TOKEN="your_token"
|
||||
export SEMANTIC_SCHOLAR_API_KEY="your_key"
|
||||
```
|
||||
|
||||
## Update
|
||||
|
||||
```bash
|
||||
uv cache clean tooluniverse
|
||||
```
|
||||
|
||||
Restart Antigravity.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
| Symptom | Fix |
|
||||
|---|---|
|
||||
| `uvx: command not found` | Install `uv` (see Prerequisites), reopen terminal. |
|
||||
| MCP server won't start | Run `uv cache clean tooluniverse` or `uvx --refresh tooluniverse --help` in terminal. |
|
||||
| Plugin installs but tools missing | Restart Antigravity CLI/IDE. First launch downloads the package (~30 s). |
|
||||
| `requires-python >= 3.10` | `uv python install 3.12` |
|
||||
|
||||
Still stuck: https://github.com/mims-harvard/ToolUniverse/issues
|
||||
Reference in New Issue
Block a user