Context7
Up-to-date docs for AI agents
Descripción del creador (original en inglés)
Multi-LLM dev harness, MCP-operable: bugs, cycles, gates. Verdicts are exit codes, never opinions.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Descargar el archivo .mcpb del creador
El enlace lleva al archivo del propio creador; no lo alojamos ni lo reempaquetamos. Abre el archivo y Claude Desktop lo instalará.
Ejecuta esto en tu terminal
Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub jrullan, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.7.0) llegó al registro hace 2 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas MCPB en tu computadora.
En la misma categoría: Context7, Codebase Memory, Exa
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
A self-hosted harness that runs a project's full development cycle with several LLMs in fixed roles, under test gates that only you sign.
In one block: self-hosted development harness (Go engine + CLI + desktop, Linux first) · brief → requirements → spec → plan → build → review → release · verdicts are exit codes, never model opinions · local models first (llama.cpp, vLLM) beside any OpenAI-compatible or Anthropic endpoint · operable by humans or by other agents over MCP with recorded, attributed decisions · Apache-2.0 · develops itself (the run records in .ducklab/ are the receipts). Agents: start at AGENTS.md and llms.txt.
You give it a brief. It writes requirements, a spec and a plan; builds tasks with one model or several arguing; runs your project's real test gate; and stops for you before anything is committed. Every model call is logged. No model ever decides a verdict.
A real council intake, recorded live and sped up: the architect streams the draft, a different model reviews it, the budget ticks in cents — and the run stops at your gate. Total cost of what you just watched: $0.07.
It was built for local models first. Two of the seats that built most of it are a vLLM box on the LAN and a llama.cpp server on localhost, both priced at zero; hosted models sit beside them in the same roster, measured by the same evidence.
Most agentic coding tools assume one strong model and trust it. Ducklab assumes several cheap models and trusts none of them:
none, a note that sends the implementer straight back to work, or stop.ref_read call away, and the gate names any document nobody opened. A 32k local model can be briefed by a quarter-million characters of reference material — the harness carries the working memory.The record does not round up: every run with its verdict, its cost, and whether its accept reproduced green from a clean checkout .
Ducklab is developed inside ducklab. The plan, the bugs, the releases and the accepted tasks went through its own loop, driven by the same local and hosted models it measures; recent features (per-run worktrees, the merge-proof accept, the acceptance receipts, the governance write guard) were built by the duck and gated by a person. To check the claim yourself:
git clone https://github.com/jrullan/ducklab && cd ducklab
go build -o ducklab-cli ./cmd/ducklab for r in .ducklab/runs/*/receipt.json; do ./ducklab-cli proof verify "$r"; done
Receipts ship with every accept since v0.7.0: the committed sha, the gate command, its exit code, and the clean-checkout reproduction verdict — facts a third party re-derives, never assessments.
v0.7.0 plus the phase-3 work now on main: every build and test run executes in its own git worktree (your checkout is never touched), acceptance rebases the run branch, re-runs the gate on the rebased commit and merges fast-forward only, and an operator can re-close a finished run as landed when its work reached main outside the engine. Before that: seven stages, five modes, the roster board with measured scorecards, reference documents with automatic digestion, skills managed from the desktop, a seated consultant chat (vision verified before images are sent), bug reports with screenshot evidence, adopt surveys with a deterministic coverage check, provider-aware queueing that states why a run waits, escalation suggestions when a seat measurably hits its ceiling, acceptance receipts (ducklab proof verify), releases, autopilot, a CLI, a desktop app, and an MCP server — in the official MCP registry as io.github.jrullan/ducklab — so another model can operate the loop with recorded, attributed decisions.
docs/status.md tracks all acceptance criteria and does not round up. Where code and spec differ, the difference is recorded in docs/decisions/.
Needs Go 1.25+, Node 22+ for the desktop, and git.
The CLI and engine are pure Go. The desktop is a Wails v3 app and needs the GTK/WebKit development packages:
sudo apt install libgtk-3-dev libwebkit2gtk-4.1-dev # Debian/Ubuntu names
make desktop && make install
On Ubuntu 24.04+ the desktop also needs an AppArmor profile — see decision 0003 and packaging/apparmor/.
xcode-select --install # the desktop build links against WebKit
brew install go node make desktop && make install
Honesty note: ducklab is developed and exercised daily on Linux. The CLI and engine compile-check for darwin/arm64 on every make cross, but no desktop build has been verified on a Mac yet — the first person to try it is the test, and make install gives you the CLI and engine either way. Please report whatever breaks.
make install installs to ~/.local/bin — make sure it is on your PATH. It warns when the desktop binary predates frontend/src, because it will happily install a stale one.
To exercise the frontend in a browser, run the engine and Vite in separate terminals, then open the browser with its connection details. The fake engine is the quickest option; the same flow can use a real engine with its opt-in CORS flag:
# Fast, scripted data (recommended for UI work)
go run ./cmd/fake-engine --port 8787 --token fake-token npm run dev --prefix frontend
go run ./cmd/ducklab-engine --allow-origin http://localhost:5173 npm run dev --prefix frontend
The real engine remains same-origin restricted by default. --allow-origin enables exactly one browser origin and is intended for local frontend development and visual audits; it does not change authentication or the loopback bind. Without this flag, a browser's cross-origin failure can look like a dead session.
The engine and token query parameters are available only in Vite dev builds. They can also be supplied as VITE_DUCKLAB_ENGINE and VITE_DUCKLAB_TOKEN environment variables. The desktop shell continues to use its injected window.ducklab connection.
| What it is | |
|---|---|
ducklab-engine | The daemon. Owns every run. Binds 127.0.0.1 only, bearer token rotated each start. |
ducklab | The CLI client. Holds no state; it asks the engine. |
ducklab-desktop | The desktop app. Also a client, also holds no state. Starts (or adopts) the engine itself. |
Provider keys come from the engine's environment at call time — export them before it starts, or launch the desktop through a wrapper that loads them from your keyring. The app tells you when the engine it adopted is missing a key this app has, with the restart button beside the words.
From the desktop: on first launch, Now → Create your first project; afterwards Settings → Projects → New project, then Work → Documents → Intent → Add intention → Draft it. From a terminal:
cd ~/dev/myproject
git init # ducklab needs a git repo ducklab project init --name MyProject # auto-starts the engine if none is running
ducklab intake --from brief.txt # brief → requirements ducklab intent # your briefs, verbatim, and what each one changed ducklab spec # requirements → spec ducklab plan # spec → milestones and tasks
ducklab run T-001 # build it ducklab run accept r-20260729-... # commit it
ducklab review T-001 # read the commit ducklab release plan --bump minor # what shipped
Your words are part of the record: every brief is kept verbatim as an INT-nnn entry before any model reads it, and the requirements it added or changed point back to it — so a requirement can always answer "who asked for this, and in what words".
Each stage writes a .proposed file first and waits for you. accept promotes it; reject restores exactly what the run wrote and nothing else; "request changes" sends any draft — spec, plan, release notes — back with your note. Nothing is committed without you (or without the autonomy level you explicitly granted).
Reference documents ride any stage: --ref ~/wiki/product/ (or the attach door in the desktop) loads files or whole directories as background for the architect — grounded by two rules the prompt states outright: the approved requirements own the scope, and where a reference and the code disagree, the code is the truth. When the corpus outgrows the seat's context, each document is digested once (cached by content hash), the full text stays reachable through the ref_read tool, and the proposal card lists any document no seat ever opened.
Adopting an existing codebase works the same way: intake reads the code and writes as-built requirements, the spec marks its sections as-built, and the plan stays deliberately empty — new work then enters through bug reports and plan amendments, which is how ducklab itself is developed.
Your project declares its own truth in .ducklab/project.toml: the gate ([verify] — with link_deps and setup for what a clean checkout needs), how the app launches ([run] with a preflight), and how the project's own binaries are rebuilt ([install]) so the whole loop runs without leaving ducklab. Stack capabilities propose run.command choices from build metadata (for example Meson executables, Cargo bins, Go main packages, or Node scripts), b
Solo se muestra el principio; lee el resto en el repo