Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
One universal Voyager: name a goal; it activates senses (repo, net) and runs a live mission.
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.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"voyager-agent": {
"command": "npx",
"args": [
"-y",
"@dir-ai/voyager-agent",
"mcp"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add voyager-agent -- npx -y @dir-ai/voyager-agent mcpPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"voyager-agent": {
"command": "npx",
"args": [
"-y",
"@dir-ai/voyager-agent",
"mcp"
]
}
}
}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ú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"voyager-agent": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dir-ai/voyager-agent",
"mcp"
]
}
}
}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 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub dir-ai, 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.22.0) llegó al registro hace 4 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, MCP Server Autocad Lisp Helper
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
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.
High-precision static analysis and debug server for AutoCAD AutoLISP (.lsp) files.
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.
The one universal Voyager. A thin, model-independent orchestrator that turns the modular Voyager senses — voyager-repo (code), voyager-net (hosts), and the cognitive contract that binds them — into a single agent. You name a goal; Voyager activates the senses it needs, runs a live mission, links the evidence into one graph, and concludes.
It is composition, not a monolith. The agent never absorbs the senses — it calls the published organs and adapts what they see into the shared CognitiveClaim substrate. The reasoning model is a swappable seam (Brain); a rule-based brain ships so it runs with no LLM at all.
Sensing is autonomous. Acting is not. Every sense here is read-only. Any
remediation a mission surfaces is carried as a *consent-gated, withheld*
action and is never applied by this orchestrator.
npm i -g @dir-ai/voyager-agent
# Orient in a repo and flag risk (voyager-repo)
voyager-agent mission "audit this project" --repo .
voyager-agent mission "check my server's exposure" --host example.com --authorized
voyager-agent mission "check my landing page" --url https://example.com
voyager-agent mission "full audit" --repo . --host example.com --authorized --url https://example.com --check-deps 10 --json
Senses fan out in parallel and are resilient: a sense that errors (or even throws) becomes a low-confidence, flagged observation — it never crashes the mission or discards a sibling sense's good result.
The mission then re-plans: it picks the single most informative next probe (by information gain) and executes it, bounded by maxRounds. How a probe is executed is an injectable dispatch seam (the model decides); the safe default only ever *re-reads* (deepens repo dependency-vetting) and never acts. A verify claim closes the mission so state().satisfied is meaningful.
Voyager — one agent, one entry.
goal: "orient in this repo and flag risk"
👁 observe [repo] (70% · moderate) @dir-ai/voyager-agent@0.1.0 — The one universal Voyager… ↳ [low] no-lockfile: no lockfile — installed versions are not pinned/reproducible 🧠 infer [memory] (70% · moderate) repo observed; 0 high/critical signal(s). No high-severity issue surfaced.
next probe: [repo] open src/index.ts
One tool, run_mission — describe a goal, get back the full claim graph.
voyager-agent mcp # stdio
{
"command": "voyager-agent", "args": ["mcp"] }
import { runMission, DeterministicBrain, type Brain } from '@dir-ai/voyager-agent'
const { mission } = await runMission( 'audit this repo and my host', { repoPath: '.', host: 'example.com', authorized: true /* your own host */ }, Date.now(), )
for (const claim of mission.allClaims()) console.log(claim.operation, claim.sense, claim.verdict) console.log(mission.state().bestNextProbe) // the most informative next step console.log(mission.state().contradictions) // where two senses disagree
The Brain interface is the whole point — it's where an LLM plugs in without touching the senses, the memory, or the mission machinery. A ready-made LlmBrain ships: give it one model-agnostic complete() function and it plans and synthesizes through the model. Wire Claude, a local server, or any OpenAI-compatible endpoint — Voyager never depends on a specific SDK.
import { runMission, LlmBrain } from '@dir-ai/voyager-agent'
const brain = new LlmBrain({ // Return the model's text for these messages — that's the whole dependency. async complete(messages) { const res = await myModel.chat(messages) // Claude, local, OpenAI-compatible… return res.text }, })
await runMission('audit this repo and my host', { repoPath: '.', brain }, Date.now())
LlmBrain is fail-safe: if the model errors or returns unparseable output, it degrades to the built-in rule-based brain for that step — a bad completion can never take a mission down, only make it less clever once. You can also implement the Brain interface directly for full control.
intent ─▶ Brain.decompose ─▶ goals
│ ┌─────────────┼───────────────┐ ▼ ▼ ▼ voyager-repo voyager-net (more senses…) scout() scan() │ │ ▼ ▼ adapters: brief ─▶ CognitiveClaim │ │ └──────▶ MissionGraph ◀───────┘ (contradictions, causal chain, best-next-probe, memory) │ ▼ Brain.synthesize ─▶ conclusion
Each sense produces a CognitiveClaim; the MissionGraph links them — auto-detecting cross-sense contradictions, assembling the causal chain, and surfacing the single most informative next probe by information gain. A sense *error* becomes a low-confidence observe claim flagged with the unknown — never a false "all clear".
| Package | Sense | What it does |
|---|---|---|
@dir-ai/voyager | web | verified-internet retrieval, OSV-gated |
@dir-ai/voyager-repo | code | orient in a repository, vet dependencies |
@dir-ai/voyager-net | hosts | authorized, read-only host audit |
@dir-ai/voyager-contract | — | the cognitive contract the senses speak |
| `@dir-ai/voyager-agent` | all | the one agent that composes them |
--authorized / authorized: true; single host only (no ranges/URLs), cloud-metadata blocked.unknown on the claim — this orchestrator never applies it.strength are explicit; a sense error is a flagged unknown, not a clean verdict.MIT © dir-ai