SkillAgentSearch skills...

drobek

Open-source, self-hosted vibe coding hosting platform: an alternative to Lovable, Bolt.new and v0 that works with your own AI agent (Claude Code, Cursor, Codex) over MCP. Builds, previews and publishes web apps. AGPL-3.0.

Install / Use

claude mcp add freema -- npx -y github:freema/drobek

If the server publishes to npm under a different name, use that package instead β€” check the repo README.

About this skill
πŸ”Œ

MCP Server

Model Context Protocol server

Quality Score

83/100

Supported Platforms

Claude Code
Claude Desktop
Cursor
OpenAI Codex

Our assessment of drobek

drobek scores 83/100 on our quality scale, 3058th of 4,607 Development & Engineering skills we index.

Its MCP Server is 26 KB long, well organised into 19 sections with 14 code examples: a thorough specification that gives an agent plenty to work with.

It has 4 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
30/30
Structure
20/20
Description
15/15
Adoption
3/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 2 days ago, so drobek is actively maintained.
  • It is released under AGPL-3.0, a copyleft license: you can use it, but modified versions you distribute must carry the same license.
  • Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit β€” read the skill file before letting an agent act on it.

drobek compared with similar skills

All 4 of these similar skills score higher than drobek; compare them before choosing.

SkillScoreStarsUpdatedFormat
drobek (this skill)by freema8342d agoMCP Server
Agent-Reachby Panniantong10098.8k2d agoCLAUDE.md
taste-skillby Leonxlnx10098.5k3d agoCLAUDE.md
headroomby headroomlabs-ai10075.6ktodayCLAUDE.md
ai-job-searchby MadsLorentzen10050.7ktodayCLAUDE.md

Frequently asked questions

How do I install drobek?
Run claude mcp add freema -- npx -y github:freema/drobek. The install tabs above show the steps for each supported agent.
Which AI agents does drobek work with?
It is written for Claude Code, Claude Desktop, Cursor and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
Is drobek safe to use?
It is AGPL-3.0-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is drobek still maintained?
The repository was last updated 2 days ago, so drobek is actively maintained.

The drobek pixel mascot

drobek

CI Release License: AGPL-3.0 Image

Open-source vibe coding hosting: your AI agent builds the web app, drobek compiles, previews and publishes it.

Bring Claude, Claude Code, Cursor or Codex. Your agent connects over MCP, writes the app directly into a workspace and gets compile feedback and a live preview. You decide when to publish. Platform modules supply sign-in, data, forms, e-mail, uploads, external APIs and scheduled imports; a dashboard gives you control over the app, its users and its secrets. Built something as a Claude artifact? Your agent moves its files over unchanged and hands you a preview.

An open-source, self-hostable alternative to Lovable, Bolt.new and v0 for people who already have an agent: drobek has no chat of its own, the agent you use does the building, and drobek compiles, versions, previews and hosts what it writes.

Try drobek.app Β· Self-host Β· Gallery Β· Docs

Watch the 33-second drobek demo on YouTube

The proxy module in 35 seconds: your agent registers an outside API, an admin confirms who can call it, and the key you type into the dashboard never reaches the app or the agent.

MCP Registry name: io.github.freema/drobek. The hosted Streamable HTTP endpoint is https://drobek.app/mcp and uses OAuth 2.1.

Choose where to run it

| | Get started | | --- | --- | | drobek.app | The maintainer's hosted instance. Sign in and connect your agent. | | Your own server | Run the same public image with Postgres, Redis and Caddy. Follow the self-host quickstart, then connect your agent to your server's /mcp endpoint. |

The core is AGPL-3.0. Building, testing and self-hosting need no access to the private repository that operates drobek.app. The agent plugins are MIT and can connect to either instance.

See what people build

  • Drobek Tycoon β€” a playable hosting-company simulator with three levels.
  • PokΓ©dex β€” PokΓ©API search and stats through drobek's proxy module, with a live request log.
  • Pixel Wall β€” a shared 64 Γ— 40 canvas backed by auth, data and other platform modules.
  • Pixel Crumbs β€” a browser pixel-art and animation editor.
  • Drobek Skok β€” a pixel platformer with a leaderboard.
  • PekΓ‘rna Drobek β€” a small bakery's demo website.

These are public apps on drobek.app. Browse the gallery for more examples.

Drobek Tycoon running on drobek

Build your first app

  1. Choose an instance above and connect your agent.

  2. Ask for a small app, for example:

    Build a shift planner for our team on drobek.
    Let people sign in and see their own shifts.
    Give me a preview to try before publishing.
    
  3. Open the preview, ask for changes, then ask the agent to publish when ready.

Apps run in the browser. Their backend comes from installed platform modules; arbitrary app server code and per-app npm install are outside the execution model. For your own backend integration, write a platform module.

The loop

  1. Connect drobek to your agent (an MCP server with OAuth β€” you approve it in the browser).
  2. Ask for an app: "a shift planner for our warehouse". The agent calls create_app and gets a compiling starter plus a briefing of the rules.
  3. It calls write_files. drobek compiles the files in-process with esbuild and returns the compile errors in the same response; the agent fixes them and writes again. Every write is an immutable version.
  4. Each successful compile is live at once on the app's preview host, https://<slug>--preview.<APPS_DOMAIN> β€” the agent hands you the link.
  5. When you are happy, the agent calls publish and the version goes live on https://<slug>.<APPS_DOMAIN> (or your own domain). Publishing an older version is the rollback.

Why it is built this way:

  • The server never executes app code. It compiles and serves; the result runs only in browsers. No sandbox per app, no npm install, no server-side code of the agent's.
  • Secrets never pass through the agent. The app owner sets them in the dashboard; modules use them server-side.
  • Every app is its own origin (<slug>.<APPS_DOMAIN>), separate from the dashboard's.
  • One process, one image (ghcr.io/freema/drobek) + Postgres + Redis (+ Caddy for TLS). It runs on an ordinary small server.

Core concepts

Agent plugins and platform modules do different jobs. A plugin teaches your agent how to build on drobek. A module runs on the drobek server and adds backend capabilities for apps. Installing a plugin does not install server modules. See the repository and compatibility map.

  • Workspace β€” people with roles (workspace-admin / editor / viewer).

  • App β€” a globally unique slug, owned by a workspace. Its hosts: <slug>.<APPS_DOMAIN> (published), <slug>--preview.<APPS_DOMAIN> (the newest version that compiled), <slug>--v<N>.<APPS_DOMAIN> (exactly version N), plus verified custom domains.

  • Version β€” an immutable, numbered snapshot of the app's sources and compiled output. Publishing moves one pointer.

  • Platform modules β€” the only backend an app gets: routes under /__drobek/v1/<name> on the app's host, drobek.<name> in the browser SDK, a per-app config the agent proposes and the owner confirms when it is risky, a skill the agent reads. Built in (modules/, enabled with DROBEK_MODULES):

    • auth β€” the app's users sign in with an e-mailed code (allowlist, admins, <LoginGate>, sessions the owner can revoke);
    • data β€” collections of records with per-operation rules (public / user / owner / admin), JSON Schema, CSV;
    • forms β€” <Form> submissions stored and e-mailed to the owners, with bot protection;
    • email β€” notifications to the app's owners (never to arbitrary addresses), per-app and server-wide budgets;
    • files β€” end-user uploads with types sniffed from the bytes and a per-app quota;
    • proxy β€” calls to external APIs with the secret injected server-side, behind an SSRF guard.

    Operators can add their own modules against the public contract: npm create drobek-module@latest <name> scaffolds one against the npm packages @freema/drobek-modules + @freema/drobek-sdk (imported as @drobek/modules / @drobek/sdk through npm aliases) β€” docs/MODULES.md β†’ Writing a module.

Self-host quickstart

<!-- quickstart:start -->

What you need:

  • a server with a public IPv4 (and/or IPv6), linux/amd64 (there is no ARM image in v1), ports 80 and 443 reachable from the internet;

  • a domain for the dashboard and a domain for the apps. Create these DNS records before step 3 (Let's Encrypt checks them):

    | Record | Points at | Example | | --- | --- | --- | | A (and/or AAAA) for the dashboard host | the server | drobek.example.com | | wildcard A/AAAA *.<APPS_DOMAIN> | the server | *.apps.example.net |

    A separate registrable domain for the apps (example.net next to example.com) is the safer choice; apps.<your dashboard domain> works too. No DNS at all (a test box)? Use DOMAIN=localhost in step 3 β€” Caddy's local CA (tls internal), reachable only from the machine itself.

  • an SMTP account (host, port, user, password, a sender address) or a Resend API key β€” sign-in codes go out by e-mail.

Every command runs as root (or prefix sudo).

1. Docker, git and go-task

curl -fsSL https://get.docker.com | sh
apt-get install -y git openssl
snap install task --classic
docker compose version     # β†’ Docker Compose version v2.x (or newer)
task --version             # β†’ Task version: v3.x

2. The drobek files (the compose file, the scripts, the env template β€” the image itself comes from GHCR)

git clone https://github.com/freema/drobek /opt/drobek
cd /opt/drobek
git checkout "$(git tag -l 'v*' --sort=-v:refname | head -n 1)"   # the newest release (skip before the first one)

3. Configuration β€” generates every secret, writes .env.production (mode 600), renders deployments/Caddyfile with the image's own generator (no Node on the host):

DOMAIN=drobek.example.com APPS_DOMAIN=apps.example.net \
TLS_ACME_EMAIL=you@example.com SUPERADMIN_EMAIL=you@example.com \
SMTP_HOST=smtp.example.com SMTP_PORT=587 SMTP_USER=no-reply@example.com \
EMAIL_FROM=no-reply@example.com \
task selfhost:init

Expected output (abridged):

βœ“ created .env.production from .env.production.example (mode 600)
βœ“ generated POSTGRES_PASSWORD
βœ“ generated DROBEK_MASTER_KEY
βœ“ generated TLS_ASK_TOKEN
βœ“ dashboard https://drobek.example.com Β· apps https://<slug>.apps.example.net
βœ“ TLS mode for the app hosts: on-demand
βœ“ rendered deployments/Caddyfile (on-demand)
βœ“ docker compose config: OK

Then put the SMTP password in (never on the command line):

nano .env.production       # SMTP_PASS='…'   (single quotes if it has $, # or spaces)

task selfhost:init never asks anything and never overwrites a secret; run it again whenever you like (after changing TLS settings: then task tls:reload). The TLS default for a real domain is on-demand (one Let's Encrypt certificate per app host, gated by drobek); TLS_MODE=wildcard-file or TLS_MODE=dns pick a wildcard certificate instead β€” see "TLS" in docs/SELF-HOSTING.md.

4. Start

docker compose --env-file .env.production -f docker-compose.production.yaml up -d --wait

The first start pulls the images and drobek applies every database migration. Expected: Container drobek-prod-postgres-1 Healthy, …-redis-1 Healthy, …-drobek-1 Healthy, …-caddy-1 Healthy.

curl -s https://drobek.example.com/healthz      # β†’ {"ok":true,"db":"up","redis":"up"}
curl -s https://drobek.example.com/api/version  # β†’ {"name":"drobek","sha":"<commit>","version":"vX.Y.Z","commitTime":"…","startedAt":"…","modules":[…]}

Tip: alias dc='docker compose --env-file .env.production -f docker-compose.production.yaml' β€” the rest of this guide spells the command out.

5. Sign in β€” open https://drobek.example.com, enter your SUPERADMIN_EMAIL, type the 6-digit code from the e-mail. You land on /me with a personal workspace.

6. Connect an agent (Claude Code)

claude mcp add --transport http drobek https://drobek.example.com/mcp

Claude Code discovers drobek's OAuth server, opens the consent page in your browser (read, write, publish) and gets a token bound to you. Without a browser on the agent's machine, mint an API key on the server instead and pass it as a header:

docker compose --env-file .env.production -f docker-compose.production.yaml exec drobek \
  node node_modules/@drobek/oauth/di

Truncated for display β€” read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars4
CategoryDevelopment
Updated2d ago
Forks3

Languages

TypeScript

Trust signals

92/100

From repository metadata: license, adoption, age and documentation. Not a code audit β€” see the Safety scan above for what the skill file itself contains.

1 low
drobek β€” MCP Server: Install & Safety Check | SkillAgent