Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Open-source vibe coding hosting over MCP: your agent builds, previews and publishes web apps.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://drobek.app/mcp在终端中运行这条命令
claude mcp add --transport http drobek https://drobek.app/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"drobek": {
"url": "https://drobek.app/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"drobek": {
"type": "http",
"url": "https://drobek.app/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://drobek.app/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
服务器要求先登录,才会列出它的工具。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 freema 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 427 毫秒内响应(HTTP 401)
声明支持 OAuth 登录,你的 AI 应用可以带你去登录
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(0.11.3)于10天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Kanal Varna — drains, leaks & plumbing (Varna, BG)
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
Drain unblocking, leak detection & plumbing in Varna, Bulgaria: services, prices, areas, contact
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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
只显示了开头部分;其余内容请在仓库中阅读