Urika
A multi-agent platform for automated scientific analysis.
Give it a dataset and a research question. Urika orchestrates a team of specialised AI agents that design experiments, run analyses, evaluate results, and document everything automatically.
What is Urika?
Urika is an open-source, multi-agent scientific analysis platform. You provide a dataset and a research question, and Urika assembles a team of specialised AI agents that work together to explore your data systematically — designing analytical methods, writing and executing Python code tailored to your specific data, evaluating results against success criteria, and documenting everything along the way.
The dataset can be in any format — tabular (CSV, Excel, Parquet, SPSS, Stata), images, audio, time series (HDF5, EDF, MAT), spatial/3D data, or domain-specific formats. Urika detects and profiles the data automatically, and agents install whatever libraries they need to work with it.
Key Features
12 Specialised Agents
Planning, code execution, evaluation, advising, custom tool building, literature search, reporting, presentations, data sanitisation, project summarisation, and finalisation — each handled by a dedicated agent with security boundaries.
Privacy Modes
Open, private, or hybrid. In hybrid mode, data stays on local or institutional endpoints while frontier cloud models handle reasoning. Per-agent routing across any combination of endpoints.
Guided & Autonomous
Run one experiment at a time with full review, or let the advisor agent steer across multiple experiments autonomously. Checkpoint, capped, or unlimited modes.
Reports & Presentations
Auto-generated lab books, narrative reports, key findings, and reveal.js HTML slide decks. The finalizer produces standalone reproducibility scripts anyone can run without Urika installed.
Custom Tool Building
When built-in tools aren’t enough, the tool builder agent creates project-specific tools on the fly — from EEG extractors and audio feature analysis to spatial clustering and sequence alignment.
Knowledge Pipeline
Ingest PDFs, text, and URLs into a project knowledge base. The literature agent searches it during experiments to ground analyses in existing work and domain context.
TUI, CLI & Dashboard
Interfaces sharing the same project state on disk: an interactive
TUI (with a classic REPL fallback), a scriptable CLI with
--json output, and a browser dashboard for monitoring
long runs.
Email, Slack & Telegram
Progress updates via email (with smart batching), Slack, or Telegram. Remotely pause, stop, or query runs from Slack and Telegram bots. Per-channel health checks and test-send from the dashboard.
Evolving Criteria
Success criteria are versioned and evolve as experiments progress. The advisor can raise the bar as understanding deepens. A ranked leaderboard tracks every method tried.
How It Works
Set up a project
Point Urika at your dataset and describe your research question. The project builder agent profiles your data, asks clarifying questions, and proposes initial experiments. Optionally ingest PDFs or papers into the knowledge base.
Agents plan and execute
The planning agent designs an analytical method. The task agent writes and executes Python code to implement it — every method is built fresh for your data, not pulled from a template. If a capability gap is identified, the tool builder creates a custom tool. The evaluator scores the result against your success criteria.
Iterate and explore
The advisor agent reviews results and proposes what to try next. In guided mode, you decide between experiments. In autonomous mode, the advisor steers the full exploration — you can monitor and control runs remotely via Slack or Telegram.
Get results
The finalizer selects the best methods and writes standalone Python scripts with full reproducibility — runnable by anyone without Urika installed. The report agent writes a narrative, the presentation agent builds an HTML slide deck, and a leaderboard ranks every method tried.
The Agent Team
Urika orchestrates a team of specialised agents, each with a defined role, specific tool access, and security boundaries controlling what it can read and write.
Project Builder
Scopes new projects
Planner
Designs analytical methods
Task Agent
Writes & runs code
Evaluator
Scores against criteria
Advisor
Proposes next steps
Tool Builder
Creates custom tools
Literature
Searches knowledge base
Report
Writes narrative reports
Presentation
Builds HTML slide decks
Data Agent
Sanitises data (hybrid)
Project Summarizer
Unified progress narrative
Finalizer
Packages reproducible outputs
Getting Started
Urika is a Python package on PyPI. Install it into a virtual environment and pick the model providers you want — Anthropic, OpenAI, Google, or any combination.
# Set up a virtual environment
python3 -m venv ~/.venvs/urika
source ~/.venvs/urika/bin/activate
# Install Urika (choose your providers)
pip install urika # Anthropic
pip install 'urika[openai]' # + OpenAI
pip install 'urika[google]' # + Google
pip install 'urika[all]' # all providers
urika setup
# Add an API key for at least one provider
urika config api-key
# Start a new project and run an experiment
urika new my-study --data ./my_data.csv
urika run my-study
urika finalize my-study
Requirements: Python 3.11+ and an API key for at
least one provider (Anthropic, OpenAI, or Google). The Claude Code CLI
is optional — install it (npm install -g
@anthropic-ai/claude-code) if you want to authenticate the
Anthropic adapter with a subscription instead of an API key. Set a
monthly spend limit in your provider console before you start.
Platforms: Linux, macOS, and Windows 11.
Stack: Python with NumPy, Pandas, SciPy, Scikit-learn, and more. Models route automatically by provider and can be mixed per agent role. Supports local models via Ollama and institutional endpoints (vLLM, LiteLLM, OpenAI-compatible) for privacy-sensitive workflows.
Try Urika
Urika is free, open source, and in active development. Star the repo, try it on your data, and let us know what you think.
View on GitHub