Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Feedback bus for coding agents: pin feedback on the app you're building; a fix turns the pin green
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"loopback": {
"command": "npx",
"args": [
"-y",
"loopback-mcp-server"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add loopback -- npx -y loopback-mcp-serverIn .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"loopback": {
"command": "npx",
"args": [
"-y",
"loopback-mcp-server"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"loopback": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"loopback-mcp-server"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto joshidikshant bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.9.4) kam vor 3 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Dechonet MCP
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
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.
30 security tools for AI agents: phishing links, exposure maps, DNS, SSL, PQC, history, pivots.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Pin feedback on the app you're building. Any coding agent claims it. The pin turns green when the fix is verified.
Loopback is the interactive feedback layer between real product usage and your coding agents: one script tag makes the app you're running locally commentable (Vercel-toolbar-style toolbar, element-anchored pins; deployed public sites go via the /ingest rails instead — see surface compatibility), every pin auto-captures the *functional* context — failing requests with response bodies, console trail, the route journey that led there, LLM run metadata, typed repro steps — and lands in one project-tagged queue that Claude Code, Codex, and Gemini CLI all work over MCP. When an agent's fix is verified, the pin turns green on the page, live.
https://github.com/user-attachments/assets/1e1b2f9f-0130-4b1d-a0dd-3aff8d801d5a
![The loop, closed: a green verified pin on the form claude-code fixed (PR linked), an amber open pin on the AI answer, and the Loopback panel listing both]
*Seeded demo capture (generated by scripts/screenshot.mjs): the contact form's backend bug pinned, claimed by claude-code, marked fixed with a linked change, verified — pin and badge green. The wrong AI answer is still amber/open.*
Coding agents can fix anything you can describe — but the loop back from real usage is missing. You notice a broken flow, screenshot it, re-describe it in a prompt, paste console output, explain which project it belongs to. Every time, for every agent. Vercel's comments have no public API; Claude Design's anchored comments are artifact-scoped; error trackers don't know your queue.
Loopback is that missing loop, built as a hub:
project slug in one shared SQLite DB (~/.loopback/loopback.db). Agents registered once per machine; consuming repos add only a widget tag and a slug.POST with its 500 response body — a frontend pin carries the backend root cause. Pin an AI answer and the run metadata (run_id, model, trace_url) rides along. CAPTURE THE HUB AGENTS
┌───────────────────────────┐ ┌─────────────────────────────┐ ┌─────────────────────────┐ │ widget pin on any app │──►│ loopback-mcp-server │◄──│ Claude Code │ │ · console + network ride │ │ one shared SQLite DB │ │ Codex (peers) │ │ · 500 bodies captured │ │ ~/.loopback/loopback.db │ │ Gemini CLI │ │ · AI run context │ │ │ └────────────┬────────────┘ ├───────────────────────────┤ │ stdio (per-agent spawn) │ │ │ POST /ingest │──►│ --http on 127.0.0.1:7077 │ list → claim → fix → │ · CI hooks, cron, │ │ (required for widgets) │ link change → fixed → │ Sentry/PostHog pollers │ │ │ verify → resolve └───────────────────────────┘ └──────────────┬──────────────┘ │ │ │ pins turn green on the page ◄─────┴───── status write-back ◄──────┘
Run it per-invocation over stdio (each agent spawns it; same DB = same queue) or as one long-running `--http` service on 127.0.0.1:7077 (required for widgets — keep it alive with pm2/launchd/systemd: integrations/keep-alive.md).
Requires Node ≥ 22.13 (built-in node:sqlite — zero native deps).
git clone https://github.com/joshidikshant/loopback && cd loopback
npm install # prepare script builds dist/ node dist/index.js --http # the hub, on 127.0.0.1:7077 node demo/serve.mjs # demo app on 127.0.0.1:5173 (broken backend + wrong AI answer)
Open http://127.0.0.1:5173 → submit the form (it fails politely) → ✦ Loopback → Pin feedback on an element → click the submit button → Send. The form shows the captured failed request. Then tell any connected agent *"work the feedback queue for acme-demo"* — or watch the item at http://127.0.0.1:7077/queue and be the agent yourself over MCP. When it's resolved, the open page announces it and the pin goes green.
Register the MCP server + instructions once per agent; after this, new projects are a two-minute init. The copy-paste version — Claude Code (.mcp.json in your project, or ~/.claude.json for all projects):
{
"mcpServers": { "loopback": { "command": "npx", "args": ["-y", "loopback-mcp-server"] } } }
Codex and Gemini CLI take the same command/args in their own config — the server is the same binary over stdio. All three are equal citizens — full per-agent pages in integrations/:
| Agent | MCP registration | Instructions/skill channel |
|---|---|---|
| Claude Code | claude mcp add --scope user loopback -- npx -y loopback-mcp-server — or the plugin: claude plugin marketplace add joshidikshant/loopback && claude plugin install loopback@loopback | @AGENTS.md import in CLAUDE.md + skill at .claude/skills/loopback/ → claude.md |
| Codex | ~/.codex/config.toml: [mcp_servers.loopback] command/args (or project-scoped .codex/config.toml) | AGENTS.md read natively + native SKILL.md at .agents/skills/loopback/ → codex.md |
| Gemini CLI | ~/.gemini/settings.json → mcpServers.loopback | AGENTS.md via context.fileName + @AGENTS.md in GEMINI.md + /loopback command → gemini.md |
All three also accept the long-running instance over streamable HTTP (http://127.0.0.1:7077/mcp) instead of spawning — see the per-agent pages.
loopback-mcp-server --http, kept alive per keep-alive.md. <script src="http://127.0.0.1:7077/widget.js"
data-project="my-app" data-endpoint="http://127.0.0.1:7077">
3. **From the repo root:**
npx loopback-mcp-server init --project my-app --write
One canonical playbook (integrations/instructions-src.md) is rendered into every agent's native mechanism: the AGENTS.md queue section (canonical; Codex + Gemini read it natively), @AGENTS.md imports in CLAUDE.md and GEMINI.md, the same SKILL.md installed for Claude (.claude/skills/) and Codex (.agents/skills/), MCP registration for all three (.mcp.json, .gemini/settings.json, .codex/config.toml), and a /loopback Gemini command. Merges are non-destructive and idempotent — re-run it anytime.
With the hub running (loopback-mcp-server --http), everything happens on two surfaces and one sentence to an agent:
| I want to… | Do this |
|---|---|
| Report something on a page with the widget | Click ✦ Loopback → Pin feedback on an element, click the thing, describe it. Failing requests, console, and AI run context attach themselves. |
| See the queue | http://127.0.0.1:7077/queue — filter with ?project= , click a row for a quick read |
| Read everything on one item | Click its id → http://127.0.0.1:7077/queue/ . Deep-linkable: paste it to a teammate or an agent. |
| Comment or change status myself | On the item view — plain forms, no agent needed |
| Get it fixed | In the repo, tell any agent: *"work the feedback queue for "* |
| Watch it close | The pin on your page turns green and announces itself; the item shows the commit/PR |
| File from a script or CI | POST /ingest with {"project","type","title","body"} |
Writes that change an item (comment, status) are same-origin only — see Security below.
Loopback is its own reference integration — it eats its own dog food, and so can you. Four ways in, from most to least convenient:
http://127.0.0.1:7077/queue — the capture widget is embedded there with data-project=loopback. Click ✦ Loopback → Pin feedback on an element, click whatever is wrong, describe it. Same loop as any other project.init), say *"file feedback for loopback: "* — the skill and AGENTS.md section are already installed for Claude, Codex, and Gemini. curl -X POST http://127.0.0.1:7077/ingest -H 'Content-Type: application/json' \
-d '{"project":"loopback","type":"ux","severity":"p2", "title":"…","body":"what happened / what you expected"}'
4. **GitHub issues** for anything a stranger should see:
https://github.com/joshidikshant/loopback/issues.
Then work it like any queue: *"work the feedback queue for loopback"*. Every Loopback defect in this repo's history was filed and closed exactly this way.
/queue is a React + shadcn app (dashboard/, built with the real shadcn CLI). Filter by clicking status tiles or any project / severity / type cell — filters compose and live in the URL, so every view is linkable. Open an item to read everything captured, edit it (title, body, severity, type — every change lands on the audit trail), comment, change status, and attach files.
Attachments declare *why* they exist, because that decides what an agent does:
| Intent | Meaning |
|---|---|
| `reference` | Context for the fix — a screenshot, a spec, a "make it look like this". Read it, then leave it. It never ships. |
| `asset` | A deliverable. The blob store is a transfer buffer: the item carries a target_path and the agent copies the file into the repo there and commits it. |
Blobs live in ~/.loopback/blobs/ /, beside the DB rather than inside it, and agents get an absolute local path so they copy the file instead of decoding it out of the protocol.
The build output is committed to public/dashboard/, so npx loopback-mcp-server still needs no React, no Tailwind and no build step — the hub just serves files. npm run dashboard:build after changing dashboard/src; dashboard-gate fails CI if the committed build has drifted.
Both surfaces — widget and /queue — are built from one token set in vanilla CSS that speaks shadcn/ui's contract (oklch variables, .dark, the multiplicative radius scale). No React, no Tailwind, no build step; drop design/tokens.css into any shadcn/v0 project and it themes from that project's palette.
Nur der Anfang wird gezeigt; den Rest findest du im Repo