passoff
Passoff
Pasa el testigo entre agentes de codificación de IA — sin perder el hilo.
Las herramientas de memoria almacenan todo. Passoff marca los momentos que importan. Un comando para traspasar el contexto entre Claude Code, Cursor, Codex, Windsurf y cualquier cliente MCP — con procedencia completa de qué IA envió qué a quién.
Por qué
Local-first. SQLite en
~/.passoff/db.sqlite. Sin nube, sin cuentas, sin claves API, sin telemetría.Procedencia integrada. Cada traspaso registra
from_client,from_model,to_client, marcas de tiempo. El protocolo MCP sella el nombre del cliente — la IA no puede mentir sobre qué herramienta lo escribió.Linaje integrado. Los traspasos hacen referencia a los padres, formando una cadena rastreable a través de múltiples IAs y sesiones.
Una sola tarea. Traspasos. No memoria, no orquestación, no un panel de control.
Related MCP server: meridian
Demostración de 30 segundos
En Claude Code, terminando una funcionalidad:
Tú:
/passoff — cambiando a Cursor para el trabajo de UIClaude escribe un traspaso en markdown estructurado, devuelve
{ id: "ph_aB3x9K" }.
Abre Cursor, inicia un nuevo chat:
Tú:
/passoff-loadCursor llama a
passoff_load({ latest: true }), obtiene el markdown y reanuda a mitad del pensamiento.
Rastrea la cadena más tarde:
$ passoff thread ph_GuqtDKDO
o ph_Mo12sReh Refactor auth middleware
| claude-code -> cursor [loaded]
|
* ph_GuqtDKDO Wired auth into login
| cursor -> codex [loaded]
|
o ph_T0s2ZQvD Fixed login tests
codex [open]Instalación
npm i -g passoffRequiere Node 20+.
O ejecutar desde el código fuente:
git clone https://github.com/TheMrGU/passoff && cd passoff
npm install && npm run build
node dist/index.js --helpConfiguración de un solo paso
Si el repositorio está clonado localmente, esto conecta Passoff en cada cliente compatible en un solo paso:
npm run setupEjecuta npm install + npm run build, registra el servidor MCP con Claude Code (vía claude mcp add si está instalado), escribe/fusiona ~/.cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json, ~/.codex/config.toml, e instala las plantillas de comandos de barra diagonal. Reinicia cada cliente de IA después.
Conéctalo a tu cliente MCP manualmente
Claude Code
claude mcp add passoff -- npx -y passoff serveCursor — ~/.cursor/mcp.json (o .cursor/mcp.json en un proyecto)
{
"mcpServers": {
"passoff": { "command": "npx", "args": ["-y", "passoff", "serve"] }
}
}Codex — ~/.codex/config.toml
[mcp_servers.passoff]
command = "npx"
args = ["-y", "passoff", "serve"]Instala los comandos de barra diagonal nativos de Codex:
passoff install --client codexEsto registra /passoff:create, /passoff:load, /passoff:list y /passoff:search como un plugin local de Codex.
Windsurf, otros
El mismo par de comandos stdio — ver docs/clients.md.
Comandos de barra diagonal
Después de passoff install, cada cliente compatible obtiene los mismos cuatro comandos (Codex usa /passoff:create etc.; Claude Code y Cursor usan /passoff, /passoff-load, /passoff-list, /passoff-search).
Comando | Qué hace |
| La IA saliente escribe un traspaso estructurado y devuelve su id |
| La IA entrante carga el traspaso activo más reciente (o uno por id) |
| Explora traspasos recientes en el proyecto actual |
| Búsqueda de texto completo en los traspasos |
Herramientas MCP
Herramienta | Propósito |
| La IA saliente escribe un traspaso estructurado |
| La IA entrante carga por |
| Explora traspasos en un proyecto (solo metadatos) |
| Búsqueda de texto completo en los traspasos (FTS5) |
| Muestra la cadena de linaje de un traspaso |
CLI del operador
passoff serve # run MCP server (stdio) — invoked by clients
passoff list [--project X] # recent handoffs table
passoff show <id> # full markdown + metadata
passoff thread <id> # lineage tree
passoff archive <id> # mark archived
passoff delete <id> # hard delete (confirms)
passoff clear [--project X] # archive all open in a project (confirms)
passoff doctor # DB path, version, row counts, MCP config hints
passoff install # install Claude/Cursor/Codex command templates
passoff uninstall # remove installed command templatesAlmacenamiento y alcance
Ubicación de la BD:
~/.passoff/db.sqlite(sobrescribir conPASSOFF_DB_PATH).Alcance del proyecto: derivado de
PASSOFF_PROJECT_ROOT, de lo contrario el directorio.gitmás cercano, de lo contrariocwd. El slug es<dir>-<6char hash>para que dos directoriosapi/nunca colisionen.Sin telemetría. Sin llamadas de red. Abre la BD en cualquier navegador SQLite.
Passoff vs herramientas de memoria compartida
Ambas tienen su lugar. Resuelven problemas diferentes.
Passoff | Herramienta de memoria compartida | |
Primitiva | Evento de traspaso discreto y deliberado | Grupo de memoria siempre activo |
Disparador | Escribes | Implícito, en cada prompt |
Lo que ve la siguiente IA | Exactamente lo que la IA anterior eligió pasar | Lo que la recuperación haya mostrado |
Procedencia | Integrada en la fila (cliente, modelo, padre) | Metadatos añadidos |
Limpieza | Archiva o elimina un átomo de traspaso | Persigue incrustaciones |
Mejor para | Cambiar de herramienta a mitad del pensamiento; rastrear decisiones | Recordar "qué hicimos hace seis semanas" |
Las herramientas de memoria responden a "¿qué podría ser relevante?". Passoff responde a "aquí está exactamente qué cargar a continuación."
Posicionamiento completo: docs/design.md.
Preguntas frecuentes
¿Dónde viven mis datos?
Un único archivo SQLite en ~/.passoff/db.sqlite. Ábrelo con cualquier navegador SQLite. No hay componente en la nube.
¿Passoff envía algo a través de la red? No. El servidor MCP es solo stdio. La CLI no llama a casa. El script de configuración solo escribe archivos de configuración locales.
¿Pueden dos proyectos compartir la misma BD? Sí — cada traspaso está limitado a un slug de proyecto. La BD es global; las vistas son por proyecto de forma predeterminada.
¿Pueden dos IAs colisionar en el mismo traspaso?
No. La carga cambia el estado open → loaded y sella to_client, pero la fila es recargable a través de sesiones hasta que la archives.
¿Puedo usarlo con [algún otro cliente MCP]? Si el cliente habla MCP sobre stdio, sí — conéctalo de la misma manera. Ver docs/clients.md.
¿Por qué no simplemente pegar la conversación?
Tres razones: (1) la IA receptora obtiene exactamente lo que elegiste pasar, no el ruido; (2) la fila es auditable — from_client, from_model, marca de tiempo; (3) el linaje se conecta a través de flujos de trabajo de varios pasos.
Estado
Alfa. Las APIs y la forma del almacenamiento pueden cambiar antes de la versión 1.0. La BD se automigra de forma aditiva, pero espera cambios ocasionales. Presentar problemas y PRs es bienvenido — ver abajo.
Contribuyendo
Ver CONTRIBUTING.md. TL;DR: npm install && npm test, mantén los PRs enfocados, no incluyas una capa de memoria o un orquestador en Passoff.
Licencia
MIT — ver LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Shared memory for AI coding agents. Save once, reuse from Cursor, Claude Code, Codex.
Shared, versioned context that humans and AI agents can publish, review, annotate, and continue.
Codebase graphs, caller impact analysis, and recorded project context for AI coding agents.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI coding assistants like Claude Code, Cursor, and Codex to share chat logs, terminal history, and session context with each other. Eliminates the need to re-explain context when switching between different AI coding tools.2MIT
- FlicenseNot gradedqualityBmaintenancePersistent memory and task coordination for AI coding agents. Tracks sprint items, logs tasks, manages session handoffs, and surfaces HITL requests so you stay in control across single or parallel Claude Code, Codex, Cursor, and Windsurf sessions.-
- AlicenseAqualityDmaintenanceEnables session continuity across AI coding assistants by preserving context and generating handoff markdown, allowing seamless switching between tools like Cursor, Claude Code, and Claude Desktop.11MIT
- AlicenseAqualityBmaintenanceEnables teams to share structured, git-synced context among AI coding agents working on the same repository, including living plans, task declarations, handoff briefs, file-provenance history, and conflict detection.1212 npm2MIT