Skip to main content
Glama
README.md
# Orbixio Studio

MCP-native video script generation platform. Generate structured YouTube scripts through Claude Desktop (or any MCP client), review them, and approve before any downstream work begins.

Built as a TypeScript monorepo. No microservices, no workflow engines — just functions.

## What it does today (v0)

- **6 MCP tools** exposed over stdio: `list_channels`, `get_channel`, `generate_script`, `review_script`, `approve_script`, `reject_script`
- **Structured script output** validated by zod: hooks, 5 tool entries with honest caveats, CTAs, YouTube metadata
- **Human-in-the-loop**: scripts must be explicitly approved before any video work begins
- **Multi-tenant ready**: every row is scoped to a userId (single-user via env var for now)

## Prerequisites

- Node.js 20+
- pnpm 9+
- PostgreSQL (local instance or Neon)
- Anthropic API key

## Quick Start (< 10 minutes)

### 1. Clone and install

```bash
git clone https://github.com/AhmedAliQadit/orbixio-studio.git
cd orbixio-studio
pnpm install
```

### 2. Configure environment

```bash
cp .env.example .env
```

Edit `.env` with your values:

```
DATABASE_URL="postgresql://user:password@localhost:5432/orbixio_studio"
ANTHROPIC_API_KEY="sk-ant-..."
ORBIXIO_USER_ID="cldev000000000000000000"
```

### 3. Set up the database

```bash
# Create the database first (if local Postgres)
createdb orbixio_studio

# Run migrations
pnpm db:migrate

# Seed demo data
pnpm db:seed
```

### 4. Build all packages

```bash
pnpm build
```

### 5. Connect Claude Desktop

Add this to your Claude Desktop config file:

**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "orbixio-studio": {
      "command": "node",
      "args": ["C:/ABSOLUTE/PATH/TO/orbixio-studio/packages/mcp-server/dist/index.js"],
      "env": {
        "DATABASE_URL": "postgresql://user:password@localhost:5432/orbixio_studio",
        "ANTHROPIC_API_KEY": "sk-ant-...",
        "ORBIXIO_USER_ID": "cldev000000000000000000"
      }
    }
  }
}
```

Replace `C:/ABSOLUTE/PATH/TO` with the actual path to your clone.

### 6. Test it

Restart Claude Desktop. You should see "orbixio-studio" in the MCP servers list. Try:

> "List my channels, then generate a script about writing sales emails for the first channel."

Claude will call `list_channels`, then `generate_script`, and return a structured draft script for your review.

## Project Structure

```
packages/
  db/            Prisma schema, client, seed
  core/          Pipeline logic (LLM provider, script generator, schemas)
  mcp-server/    MCP server wrapping core over stdio
apps/
  web/           Stubbed Next.js app (not implemented yet)
```

## Scripts

| Command | Description |
|---------|-------------|
| `pnpm build` | Build all packages |
| `pnpm test` | Run all unit tests |
| `pnpm test:smoke` | Run end-to-end smoke test |
| `pnpm db:migrate` | Run Prisma migrations |
| `pnpm db:seed` | Seed demo data |
| `pnpm lint` | Lint with Biome |

## Stack

TypeScript, Prisma, PostgreSQL, @modelcontextprotocol/sdk, @anthropic-ai/sdk, zod, pino, vitest, Biome, pnpm workspaces.