Origin OS is a modular AI-powered automation platform for managing Google Tag Manager, web scraping, and container orchestration. It provides a unified interface to interact with multiple LLM providers through OpenRouter and exposes MCP (Model Context Protocol) servers for seamless AI tool integration.
┌─────────────────────────────────────────────────────────────┐
│ Origin OS UI │
│ (http://localhost:8000) │
│ Multi-LLM Chat Interface via OpenRouter │
└─────────────────────────────────────────────────────────────┘
│
┌───────────────┴───────────────┐
│ │
▼ ▼
┌─────────────────────────┐ ┌─────────────────────────┐
│ Codex │ │ MCP Hub │
│ (http://localhost:8001)│ │ (http://localhost:8002)│
│ GTM Manager API │ │ Unified MCP Gateway │
│ - Tag management │ │ - Firecrawl scraping │
│ - Trigger creation │ │ - Docker management │
│ - Container publish │ │ - Filesystem access │
└─────────────────────────┘ │ - Memory/Knowledge │
│ - SEMrush SEO data │
└─────────────────────────┘
| Service | Port | Description |
|---|---|---|
| UI | 8000 | Web-based chat interface with multi-LLM support (Claude, GPT-4, Gemini, Llama, Mixtral) |
| Codex | 8001 | JWT-authenticated API for Google Tag Manager operations |
| MCP Hub | 8002 | Unified gateway exposing MCP servers (Firecrawl, Docker, Filesystem, Memory, SEMrush) |
| Vault | Internal | Secure credential storage with encryption |
- Docker and Docker Compose
- OpenRouter API key (for multi-LLM access)
-
Clone the repository:
git clone https://github.com/cwalinapj/origin-os.git cd origin-os -
Configure environment:
cp .env.example .env # Edit .env with your API keys -
Start Origin OS:
./origin.sh start
-
Access the UI: Open http://localhost:8000 in your browser.
./origin.sh stopThe stop command will optionally encrypt your .env file for security.
Create a .env file with the following keys:
# OpenRouter (Multi-LLM access) - Required
OPENROUTER_API_KEY=sk-or-v1-xxx
# Direct API keys (optional)
OPENAI_API_KEY=sk-xxx
ANTHROPIC_API_KEY=sk-ant-xxx
# Google Service Account (for GTM access)
GOOGLE_SERVICE_ACCOUNT_EMAIL=xxx@xxx.iam.gserviceaccount.com
GOOGLE_SERVICE_ACCOUNT_PRIVATE_KEY=
# AWS (optional)
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
# MCP Server APIs
FIRECRAWL_API_KEY=fc-xxx
# Vault encryption
VAULT_MASTER_PASSWORD=The MCP Hub exposes the following tool categories:
gtm_status- Get GTM connection statusgtm_list_containers- List GTM containersgtm_list_tags- List tags in a containergtm_create_tag- Create a new taggtm_create_trigger- Create a new triggergtm_publish- Publish container changes
scrape_url- Scrape a single URLcrawl_site- Crawl an entire websiteextract_data- Extract structured datascreenshot- Take screenshots
list_containers- List running containersrun_container- Start a new containerstop_container- Stop a containerinspect_container- Get container detailslogs- View container logs
read_file- Read file contentswrite_file- Write to a filelist_directory- List directory contentscreate_directory- Create new directories
create_entities- Create knowledge entitiessearch_nodes- Search the knowledge graphadd_observations- Add observations to entitiesread_graph- Read the entire knowledge graph
- JWT Authentication: All Codex endpoints require valid JWT tokens with appropriate scopes
- Encrypted Credentials: The
origin.shscript can encrypt/decrypt your.envfile using AES-256-CBC - Scoped Permissions: Fine-grained access control (e.g.,
gtm:read,gtm:write,gtm:publish)
origin-os/
├── docker-compose.yml # Service orchestration
├── origin.sh # Secure launcher script
├── .env.example # Environment template
├── services/
│ ├── ui/ # Web chat interface
│ │ ├── Dockerfile
│ │ └── ui.py
│ ├── codex/ # GTM Manager API
│ │ ├── Dockerfile
│ │ ├── codex.py
│ │ └── jwt_auth.py
│ ├── mcp-hub/ # MCP Server Gateway
│ │ ├── Dockerfile
│ │ ├── mcp_hub.py
│ │ └── jwt_auth.py
│ ├── vault/ # Credential storage
│ │ └── Dockerfile
│ └── auth/ # Shared auth module
│ └── jwt_auth.py
└── schemas/ # Data schemas
├── experiment_container.schema.yaml
└── mcp_auth.schema.yaml
# Run UI service locally
cd services/ui
pip install fastapi uvicorn httpx
python ui.py
# Run Codex service locally
cd services/codex
pip install fastapi uvicorn pydantic pyjwt google-auth google-api-python-client
python codex.py# View logs
docker compose logs -f
# Rebuild specific service
docker compose build codex
docker compose up -d codex
# View service status
docker compose psMIT License - See LICENSE for details.
Contributions are welcome! Please open an issue or submit a pull request.