tooluniverse-codex-plugin

$npx mdskill add mims-harvard/ToolUniverse/tooluniverse-codex-plugin

Install, update, and troubleshoot the ToolUniverse plugin on OpenAI Codex.

  • Solves plugin installation, verification, update, pin, uninstall, and startup errors.
  • Depends on uvx, Codex CLI, and the mims-harvard/ToolUniverse marketplace plugin.
  • Uses the exact marketplace name and two-command install flow from SKILL.md.
  • Outputs step-by-step commands and environment variable instructions to the agent.

SKILL.md

.github/skills/tooluniverse-codex-pluginView on GitHub ↗
---
name: tooluniverse-codex-plugin
description: Install, set up, verify, update, pin, uninstall, or troubleshoot the ToolUniverse plugin on OpenAI Codex. ALWAYS consult this skill for any of those — don't answer from memory, because the exact marketplace name (mims-harvard/ToolUniverse), the "codex plugin marketplace add" then "codex plugin add -m tooluniverse" flow, Codex's startup auto-upgrade behavior, 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 Codex, says the Codex plugin or its tools/skills won't load, hits a uvx or MCP-server startup error, asks how Codex updates it, wants to pin or remove it, or finds it running an old tool version — even if they never say the word "plugin". Not for the Claude Code plugin (use tooluniverse-claude-code-plugin), for running research with the tools, or for authoring new tools or skills.
---

# Install the ToolUniverse Plugin for OpenAI Codex

One-step install on Codex: an MCP server exposing 1000+ scientific tools plus 130+ research skills — all auto-configured. (For the Claude Code version, see `tooluniverse-claude-code-plugin`.)

## Prerequisites (check once)

```bash
uv --version     # provides `uvx`; if missing:  curl -LsSf https://astral.sh/uv/install.sh | sh
codex --version  # OpenAI Codex CLI; if missing: https://developers.openai.com/codex
```

## Install (two commands)

```bash
# 1. Register the ToolUniverse marketplace from GitHub
codex plugin marketplace add mims-harvard/ToolUniverse

# 2. Install the plugin from that marketplace
codex plugin add tooluniverse -m tooluniverse
```

Restart Codex. The MCP server auto-starts via `uvx tooluniverse` on first use (~30 s cold start while the package downloads, instant after).

> `mims-harvard/ToolUniverse` is an owner/repo shorthand, so Codex records it as a **Git** marketplace — which is what enables automatic updates (see "Updates"). Don't point it at the plugin subfolder or a raw URL.

## Verify it worked

```bash
codex plugin list           # expect: tooluniverse (enabled)
codex plugin list --json    # the JSON includes the installed "version"
```

Then just ask naturally inside Codex:

```
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 |
| **130+ skills** | Structured research workflows — drug discovery, variant interpretation, pharmacovigilance, phylogenetics, statistical modeling, and more | Auto-activate on matching questions |

> Unlike the Claude Code plugin, the Codex plugin ships **MCP tools + skills only** — there are no slash commands. You drive everything by asking naturally.

## API keys (optional, but recommended)

Most tools work without keys. For higher rate limits or gated databases, set the keys you care about in the **environment you launch Codex from** — the MCP server (`uvx tooluniverse`) inherits them:

```bash
export NCBI_API_KEY="your_key"
export ONCOKB_API_TOKEN="your_token"
export SEMANTIC_SCHOLAR_API_KEY="your_key"
# ...then start codex from that same shell
```

Exported env vars are the durable choice because they survive plugin upgrades. (You *can* instead edit the `env` block of the installed plugin's `.mcp.json` in the cache — see below — but the cached copy is replaced on every update.)

Full key list: the bundled `setup-tooluniverse` skill → `API_KEYS_REFERENCE.md`.

## Updates

Codex **auto-upgrades Git marketplaces on startup by default**. Because you added `mims-harvard/ToolUniverse` (owner/repo) as a Git marketplace, a newly published version reaches you on your **next Codex launch** with no action needed. (There is no `codex plugin update` command — updating is marketplace-driven.)

Refresh on demand instead of waiting:

```bash
codex plugin marketplace upgrade              # all configured Git marketplaces
codex plugin marketplace upgrade tooluniverse # just this one
```

In the TUI, open `/plugins` and press **Ctrl+U** on the marketplace tab.

The tools themselves come from the `tooluniverse` PyPI package via `uvx`, so if tools feel stale after an upgrade, clear the uvx cache:

```bash
uv cache clean tooluniverse
```

### Pin the tool version (optional, for reproducibility)

To lock tool behavior for a long-running analysis, edit the installed plugin's `.mcp.json` and pin the package version:

```json
"args": ["[email protected]"]
```

Replace `1.3.0` with any release from https://pypi.org/project/tooluniverse/, then restart Codex. (Find the file under `~/.codex/plugins/cache/`.)

## Uninstall

```bash
codex plugin remove tooluniverse
codex plugin marketplace remove tooluniverse
```

## Alternative install (local checkout / air-gapped)

```bash
git clone https://github.com/mims-harvard/ToolUniverse.git
codex plugin marketplace add ./ToolUniverse
codex plugin add tooluniverse -m tooluniverse
```

A marketplace added by **local path** is NOT auto-upgraded (only owner/repo Git marketplaces are). After pulling new commits, re-run `codex plugin marketplace upgrade` or restart Codex.

## Troubleshooting

| Symptom | Fix |
|---|---|
| `marketplace add` fails | Use `mims-harvard/ToolUniverse` (owner/repo), not a path to the plugin subfolder or a raw URL. |
| `uvx: command not found` | Install `uv` (see Prerequisites), reopen the terminal. |
| Plugin installed but no tools | Restart Codex; the first launch downloads the package (~30 s). Sanity-check the server: run `uvx tooluniverse` in a terminal. |
| MCP server won't start | If `uvx tooluniverse` also fails in a plain terminal, it's a `uv`/Python issue, not Codex. |
| `requires-python >= 3.10` | `uv python install 3.12` |
| Tools feel outdated after update | `uv cache clean tooluniverse`, then restart Codex. |
| Update never arrived | Auto-upgrade only applies to **Git** marketplaces (owner/repo). If you added a local path, run `codex plugin marketplace upgrade`. |
| Tools run an OLD version | `uv tool list \| grep tooluniverse` — a global `uv tool install tooluniverse` *shadows* `uvx`. Fix: `uv tool uninstall tooluniverse`, then restart. |

Still stuck: https://github.com/mims-harvard/ToolUniverse/issues

## Automated diagnosis & repair

Hand this skill to the agent — *"read the tooluniverse-codex-plugin skill and diagnose & fix my Codex plugin"* — or run these in order. Each is safe and idempotent; apply the `FIX` for whatever fails, then restart Codex.

```bash
# 1. Is uv/uvx installed?  (most common cause of "no tools at all")
command -v uvx || echo "FIX: curl -LsSf https://astral.sh/uv/install.sh | sh"

# 2. Can the MCP package resolve + run?  (non-hanging proxy for the server)
uvx --from tooluniverse tu --version || echo "FIX: uv/Python issue — see steps 1 and 6"

# 3. Is the plugin installed + enabled?
codex plugin list | grep -q tooluniverse || echo "FIX: codex plugin add tooluniverse -m tooluniverse"

# 4. Running an OLD version even after updating?  (a global install shadows uvx)
uv tool list | grep -q tooluniverse \
  && echo "FIX: uv tool uninstall tooluniverse" \
  || echo "ok: nothing shadowing uvx"

# 5. Pull the latest plugin version now (don't wait for next startup)
codex plugin marketplace upgrade tooluniverse

# 6. Python too old (requires >= 3.10)?
uv python install 3.12

# 7. Force a fresh tool package
uv cache clean tooluniverse        # or one-shot: uvx --refresh tooluniverse --version
```

## For plugin maintainers

This skill documents the **user-facing** install flow. The Codex plugin source lives at `plugins/tooluniverse/` with its own `.codex-plugin/plugin.json`, `.mcp.json`, and `skills/`. The repo-root `.agents/plugins/marketplace.json` is what makes `codex plugin marketplace add mims-harvard/ToolUniverse` work — it lists the plugin with `"source": {"source": "local", "path": "./plugins/tooluniverse"}` (a path *inside* the cloned marketplace repo, not an external one).

- Skills are generated copies — edit the canonical `skills/` tree, then run `plugin/sync-skills.sh`. It rebuilds both the Claude and Codex skill sets and applies the Codex-specific normalizations (drops the `disable-model-invocation` marker Codex ignores, compacts descriptions over Codex's 1024-char limit).
- The Codex plugin version lives in `plugins/tooluniverse/.codex-plugin/plugin.json`; `scripts/release-plugin.sh` bumps it alongside the Claude manifests so both plugins stay on `<package MAJOR.MINOR>.<plugin revision>`.
- Codex delivers updates via the **git push** (startup auto-upgrade), independent of the version string — but the bump keeps the two plugins coherent and serves Codex's per-version cache.

More from mims-harvard/ToolUniverse

SkillDescription
create-tooluniverse-skillCreate high-quality ToolUniverse skills following test-driven, implementation-agnostic methodology.
devtu-auto-discover-apisAutomatically discover life science APIs online, create ToolUniverse tools, validate them, and prepare integration PRs. Performs gap analysis to identify missing tool categories, web searches for APIs, automated tool creation using devtu-create-tool patterns, validation with devtu-fix-tool, and git workflow management. Use when expanding ToolUniverse coverage, adding new API integrations, or systematically discovering scientific resources.
devtu-benchmark-harnessContinuous improvement system for ToolUniverse tools, skills, and plugin. Run benchmarks, diagnose failures, route fixes to devtu skills, retest. Use after skill optimization, tool additions, or as regression check.
devtu-code-optimization>
devtu-create-toolCreate new scientific tools for ToolUniverse framework with proper structure, validation, and testing. Use when users need to add tools to ToolUniverse, implement new API integrations, create tool wrappers for scientific databases/services, expand ToolUniverse capabilities, or follow ToolUniverse contribution guidelines. Supports creating tool classes, JSON configurations, validation, error handling, and test examples.
devtu-docs-qualityTOP PRIORITY skill — find and immediately fix or remove every piece of wrong, outdated, or redundant information in ToolUniverse docs. Wrong code, broken links, incorrect counts, and overlapping instructions must be fixed or removed — never left in place. Runs five phases: (D) static method scan, (C) live code execution, (A) automated validation, (B) ToolUniverse audit, (E) less-is-more simplification. Core philosophy: each concept appears exactly once; remove don't add; no emojis; single setup entry point. Use when reviewing docs, before releases, after API changes, or when asked to audit, fix, or simplify documentation.
devtu-fix-toolFix failing ToolUniverse tools by diagnosing test failures, identifying root causes, implementing fixes, and validating solutions. Use when ToolUniverse tools fail tests, return errors, have schema validation issues, or when asked to debug or fix tools in the ToolUniverse framework.
devtu-githubGitHub workflow for ToolUniverse - push code safely by moving temp files, activating pre-commit hooks, running tests, and cleaning staged files. Use when pushing to GitHub, fixing CI failures, or cleaning up before commits.
devtu-optimize-descriptionsOptimize tool descriptions in ToolUniverse JSON configs for clarity and usability. Reviews descriptions for missing prerequisites, unexpanded abbreviations, unclear parameters, and missing usage guidance. Use when reviewing tool descriptions, improving API documentation, or when user asks to check if tools are easy to understand.
devtu-optimize-skillsOptimize ToolUniverse skills for better report quality, evidence handling, and user experience. Apply patterns like tool verification, foundation data layers, disambiguation-first, evidence grading, quantified completeness, and report-only output. Use when reviewing skills, improving existing skills, or creating new ToolUniverse research skills.