Feedback bus for coding agents: pin feedback on any web app, an agent fixes it, the pin turns green
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
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.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).
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):
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.@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=<slug>, click a row for a quick read |
| Read everything on one item | Click its id β http://127.0.0.1:7077/queue/<id>. 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 <slug>" |
| 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:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/loopback)<a href="https://allmcps.com/mcp/loopback"><img src="https://allmcps.com/api/badge/loopback?style=directory" alt="Loopback on AllMCPs" /></a>