Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Open-source vibe coding hosting over MCP: your agent builds, previews and publishes web apps.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://drobek.app/mcpRun this in your terminal
claude mcp add --transport http drobek https://drobek.app/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"drobek": {
"url": "https://drobek.app/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"drobek": {
"type": "http",
"url": "https://drobek.app/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://drobek.app/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account freema, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 427 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (0.11.3) reached the registry 10 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Agent Data Tools: Utilities
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
103 tools: JSON repair, CSV, hashes, cron, dates, units, validators. 25 free calls.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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](https://drobek.app/login) · [Self-host](#self-host-quickstart) · [Gallery](https://www.drobek.app/gallery) · [Docs](https://www.drobek.app/docs)
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.
| 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.
These are public apps on drobek.app. Browse the gallery for more examples.
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.
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.
create_app and gets a compiling starter plus a briefing of the rules.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.https:// --preview. — the agent hands you the link.publish and the version goes live on https:// . (or your own domain). Publishing an older version is the rollback.Why it is built this way:
npm install, no server-side code of the agent's. . ), separate from the dashboard's.ghcr.io/freema/drobek) + Postgres + Redis (+ Caddy for TLS). It runs on an ordinary small server.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.
. (published), --preview. (the newest version that compiled), --v . (exactly version N), plus verified custom domains./__drobek/v1/ on the app's host, drobek. 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): , sessions the owner can revoke);public / user / owner / admin), JSON Schema, CSV; submissions stored and e-mailed to the owners, with bot protection;Operators can add their own modules against the public contract: npm create drobek-module@latest 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.
What you need:
| Record | Points at | Example |
|---|---|---|
A (and/or AAAA) for the dashboard host | the server | drobek.example.com |
wildcard A/AAAA *. | the server | *.apps.example.net |
A separate registrable domain for the apps (example.net next to example.com) is the safer choice; apps. 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.
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:// .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":" ","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
Only the beginning is shown; read the rest in the repo