Container-based distribution is built on each push to the main branch. The only requirement is the Docker CLI.

Quick start

Just want to run Genesis locally? Here’s how:
# 0. Install docker (https://www.docker.com/)

# 1. Install Genesis (one-time setup)
[Optional] Set below variable only if you plan to use genesis with OpenAI API and have a key:
export OPENAI_API_KEY=<your OpenAI key>

curl -s https://raw.githubusercontent.com/genesis-computing-ai/genesis-agents-public/refs/heads/master/container/install.sh | bash

# 2. Start the Genesis server
~/bin/genesis_server

# 3. Open Genesis UI in your browser
# Navigate to: http://localhost:8080 (React GUI) or http://localhost:8082 (Streamlit GUI)

# Or use the CLI in a new terminal:
~/bin/genesis_cli "Hello, what can you help me with?"
That’s it! Genesis is now running locally on your machine.

Need the latest version?

~/bin/genesis_update              # Pull the latest container
~/bin/genesis_server              # Restart the server

Installation

curl -s https://raw.githubusercontent.com/genesis-computing-ai/genesis-agents-public/refs/heads/master/container/install.sh | bash
Installs four scripts in ~/bin:
  • genesis_server — Local Genesis server with persistent SQLite database
  • genesis_cli — CLI for local or Snowflake native app operations
  • genesis_update — Pulls latest container version
  • mcp_bridge — Bridge script to connect Genesis with MCP servers

genesis_server command line arguments

genesis_server [-d] [-i image]

Options

FlagDescriptionDefault
-dRun container in detached mode (background)Interactive mode
-i imageUse custom image namegenesis
-hDisplay help-

Examples

genesis_server                                    # Run interactively with default image
genesis_server -d                                 # Run in background
genesis_server -i genesis-back-front-dev          # Use development branch image
genesis_server -d -i genesis-back-front-dev       # Detached mode with dev image

Available images

  • genesis — Built from main branch (default)
  • genesis-back-front-dev — Built from back/front-dev branch

Exposed ports

  • 8080 — FastAPI (Primary system with React GUI and modern APIs)
  • 8082 — Flask (UDF proxy, OAuth, Streamlit GUI, external integrations)
  • 8501 — Streamlit UI (also accessible via Flask backend)

Configuration

Installation creates ~/.genesis/config.env:
SQLITE_DB_PATH=/app/.genesis/db/genesis.db

# OpenAI API mode
#OPENAI_API_KEY=""

# Snowflake mode (uncomment to enable):
#SNOWFLAKE_METADATA=TRUE
#SNOWFLAKE_ACCOUNT_OVERRIDE=""
#SNOWFLAKE_USER_OVERRIDE=""
#SNOWFLAKE_PASSWORD_OVERRIDE=""
#GENESIS_INTERNAL_DB_SCHEMA="XXX.YYY"

# Databricks mode (uncomment to enable):
#DATABRICKS_API_KEY="your key here"
#DATABRICKS_BASE_URL="your account serving-endpoints URL here"
#BOT_OS_DEFAULT_LLM_ENGINE=databricks
#DATABRICKS_MODEL_NAME="databricks-claude-3-7-sonnet"
#OPENAI_STREAM_OPTIONS_NOT_SUPPORTED=TRUE
#OPENAI_HARVESTER_MODEL="databricks-claude-3-7-sonnet"
#DATABRICKS_EMBEDDING_MODEL="databricks-gte-large-en"

CLI commands

Thread management

CommandDescription
genesis_cli -tDisplay current bot/thread
genesis_cli -t lsList all threads (bot/thread format)
genesis_cli -t newCreate new thread with same bot
genesis_cli -t bot/idSwitch to bot/thread

Data Agent management

CommandDescription
genesis_cli -bDisplay current bot
genesis_cli -b bot_idSwitch to new thread on bot

Configuration management

genesis_cli -c                    # Display all config key/values
genesis_cli -c <key> <value>      # Set config value
Example — connect to Snowflake native app:
genesis_cli -c server_url snowflake://user@domain:pass@account/database/app

Model Context Protocol (MCP)

CommandDescription
genesis_cli -moOffer Genesis tools as MCP server
mcp_bridge <server_cmd>Add locally hosted MCP servers to Genesis

Adding MCP servers

The mcp_bridge utility allows you to add locally hosted MCP servers to Genesis, giving you access to additional tools and capabilities. Usage:
mcp_bridge <mcp_server_command> [args...]
Examples:
# Add filesystem access tools
mcp_bridge npx -y @modelcontextprotocol/server-filesystem /tmp

# Add custom MCP server tools
mcp_bridge python my_mcp_server.py --config config.json

# Add database access tools
mcp_bridge npx -y @modelcontextprotocol/server-sqlite /path/to/database.db
Once connected, the MCP server’s tools will be available to Genesis for use in conversations and workflows.

Programmatic usage

genesis_cli is designed for use in programs — can run prompts, call tools, and offer MCP services.

Examples

Basic interaction:
$ genesis_cli -t new
switched to Eve/completion_thread_154d87de-a40d-493e-b5e1-c4a42f7e0db6: New Chat

$ genesis_cli "list bots"
[Bot list output...]
Tool execution:
$ genesis_cli \!manage_todos action=LIST, for_bot_id="DEng-DBT-EngineerBot"
{
    "success": true,
    "todos": [...]
}

Updates

genesis_update [-i image]

Options

FlagDescriptionDefault
-i imageUpdate specific imagegenesis
-hDisplay help-

Examples

genesis_update                              # Update default genesis image
genesis_update -i genesis-back-front-dev    # Update development branch image

Volume mounts

genesis_server automatically mounts the following directories:
Host DirectoryContainer PathPurpose
~/.genesis/db/app/.genesis/dbSQLite database
~/.genesis/bot_git/app/bot_gitGit repositories
~/.genesis/bot_storage/app/bot_storageBot storage
~/.genesis/customer_demos/app/customer_demosDemo files
~/.genesis/tmp/app/tmpTemporary files