Skip to content

Scientific tools (ToolUniverse)

Real scientific data is reached through a uvx sidecar — the backend shells out to uvx --from tooluniverse tu run …, so no heavy dependency is added to the backend itself. The first call downloads ToolUniverse (~30 s, once).

Discover & check status

Terminal window
# search available tools
GET /tools/search?q=literature
# sidecar status
GET /tools/status

Workflows

Terminal window
# literature sweep for a question
POST /tools/workflows/literature-sweep
{ "question_id": "" }
# audit claims against real references (the citation gate)
POST /tools/workflows/citation-gate
{ "claims": [""] }
# build mechanism context: real domains + structures for proteins
POST /tools/workflows/mechanism-context-pack
{ "question_id": "", "proteins": [{ "gene": "rpoB", "organism_id": "83333" }] }

Governed and cached

Every external call is cached, governed, and shown in Agents → Tool runs with provider and online/offline status. Nothing reaches the network silently.

To run without tools (heuristic only), start the backend with RC_USE_TOOLS=0, or go fully offline with RC_OFFLINE=1.

The full API is browsable at http://localhost:8799/docs once the backend is running.