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/)
Obtain Install Script from Genesis by Contacting support@genesiscomputing.ai
# 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>
# 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
Obtain Install Script from Genesis by Contacting support@genesiscomputing.ai
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
| Flag | Description | Default |
|---|
-d | Run container in detached mode (background) | Interactive mode |
-i image | Use custom image name | genesis |
-h | Display 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
| Command | Description |
|---|
genesis_cli -t | Display current bot/thread |
genesis_cli -t ls | List all threads (bot/thread format) |
genesis_cli -t new | Create new thread with same bot |
genesis_cli -t bot/id | Switch to bot/thread |
Data Agent management
| Command | Description |
|---|
genesis_cli -b | Display current bot |
genesis_cli -b bot_id | Switch 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)
| Command | Description |
|---|
genesis_cli -mo | Offer 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
| Flag | Description | Default |
|---|
-i image | Update specific image | genesis |
-h | Display 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 Directory | Container Path | Purpose |
|---|
~/.genesis/db | /app/.genesis/db | SQLite database |
~/.genesis/bot_git | /app/bot_git | Git repositories |
~/.genesis/bot_storage | /app/bot_storage | Bot storage |
~/.genesis/customer_demos | /app/customer_demos | Demo files |
~/.genesis/tmp | /app/tmp | Temporary files |