chat-across
chat-across
English | 中文
Un pequeño servidor MCP que permite que tus agentes de codificación con IA trabajen en el mismo proyecto como un equipo — Claude Code, Codex y Kimi Code hoy, extensible a cualquier agente que persista sesiones (añadir un proveedor son ~60 líneas). Ancla una sesión a un entorno con nombre con un único comando de barra, y cada agente puede leer lo que los demás están haciendo, directamente desde sus archivos nativos, sin copias.
Se adapta a tu entorno y flujo de trabajo — no al revés. Instala un servidor MCP y sigue trabajando exactamente donde ya trabajas: Codex App, Claude Code / Desktop, Kimi Code, en paralelo o uno a la vez. Sin GUI centralizada, sin nuevo TUI, sin aplicación a la que cambiar, nada que migrar. Tus agentes siguen siendo tuyos; solo dejan de ser desconocidos entre sí.
Claude Code ─┐
Codex App ──┼──► chat-across bridge (stdio MCP) ──► one small SQLite (pointers + briefs only)
Kimi Code ──┘ │
└─ reads peers' NATIVE session / memory / docs in place — nothing duplicatedComandos de barra
Cinco comandos lo cubren todo. En Claude Code y Kimi Code son comandos de barra; en Codex escribe $ y elige la skill del mismo nombre.
Comando | Qué ocurre |
| Ancla esta sesión al entorno |
| Actualización manual: envía un resumen actualizado, extrae los últimos de los pares. Los agentes también lo hacen por su cuenta tras cada hito significativo, así que rara vez lo necesitarás. |
| Desconecta. La sesión vuelve al aislamiento total — cada herramienta de datos compartidos falla de forma segura hasta que se ancle de nuevo. |
| Lista todos los entornos en el puente: qué proveedores hay dentro, cuántas sesiones lo han tocado, cuándo se movió por última vez. |
| Elimina un entorno: borra sus resúmenes y punteros, libera el nombre. Si se llama sin nombre, lista los entornos y pregunta — nunca elimina a ciegas. Solo contabilidad del puente; no se tocan las transcripciones, memorias o archivos de nadie. |
Todo lo que hace un comando también se puede lograr con lenguaje natural — "elimina el entorno project1", "qué entornos hay", "continúa lo que estaba haciendo Codex" funcionan.
Related MCP server: Cross-Project MCP Server
Qué obtienes
Anclaje — entornos como puntos de encuentro
Un entorno es simplemente un nombre único (project1, mcp, lo que sea). Las sesiones se anclan a él; las sesiones ancladas comparten; las sesiones no ancladas están físicamente fuera — fallo seguro, sin compartir, sin contaminación. Los nombres son la identidad: conectar con un nombre existente siempre se une a él, así que nunca hay dos project1.
Herramienta | Qué hace |
| Crear-o-unirse por nombre. Registra un puntero a la transcripción nativa de esta sesión (los agentes pasan su UUID de sesión para que los pares puedan leerlas), y devuelve el último resumen de cada par — unirse solo ya te dice el estado de todo el equipo. |
| Desconecta; todas las herramientas con ámbito vuelven a fallar de forma segura. |
Resúmenes — la capa de "qué está haciendo cada uno"
Cada sesión mantiene un resumen de trabajo compactado en el puente (objetivo / hecho / decisiones clave / siguiente), actualizado en su lugar — limitado a 32KB, una fila por sesión, así que el almacenamiento físicamente no puede crecer. Los resúmenes llevan una marca de agua de bytes de la transcripción del autor, para que los lectores vean behindBytes: exactamente cuánto ha ocurrido desde que se escribió el resumen. El desfase es un número medido, no una suposición.
Los pares se identifican por UUID de sesión nativo, no por proveedor — varias sesiones de un mismo proveedor siguen siendo distintas (dos puestos de Claude en un bucle de automatización mantienen cada uno su propio resumen), mientras que la misma sesión que se reconecta a través de un servidor MCP reiniciado se deduplica en una sola entrada. Pasa sessionUuid (mostrado en cada par) a cualquier herramienta de lectura para dirigirte a una sesión con precisión.
Herramienta | Qué hace |
| Envía tu propio resumen (actualización + marca de agua), extrae los últimos de los pares — una llamada, ambas direcciones. |
Lectura nativa — el verdadero propósito de este proyecto
Nada se copia al puente. Cuando un agente quiere saber qué hizo un par, el puente resuelve dónde la propia aplicación del par ya lo persiste y lo analiza en su lugar, bajo demanda:
Herramienta | Lee | Detalle |
| La transcripción de sesión nativa del par ( | Últimos N intercambios (10 por defecto, máx. 50), buscados por bytes desde el final del archivo — un rollout vivo de 660MB con bloqueo de escritura responde en milisegundos de un solo dígito. Omite los subhilos guardianes de Codex, filtra el ruido del harness, redacta cadenas con forma de secreto. |
| El almacén de memoria nativo del par | Claude: el directorio de memoria por proyecto. Codex: el almacén a nivel de usuario filtrado por sus etiquetas |
| Las reglas permanentes del proyecto del par |
|
En conjunto: resumen = qué están haciendo, cola = las últimas palabras exactas, memoria = qué han aprendido, instrucciones = las reglas del proyecto. Un contexto completo de toma de control en una sola conexión.
La identidad del proyecto se deriva, nunca se configura: los propios artefactos del par llevan su cwd (Codex session_meta, registros jsonl de Claude, state.json de Kimi). Funciona incluso si la sesión del par está cerrada, bloqueada o sin cuota — el puente lee archivos, no procesos vivos.
Ciclo de vida — visibilidad y limpieza
Herramienta | Qué hace |
| Cada entorno con los proveedores presentes, número de sesiones y última actividad — "cuál es este project1" se responde solo. |
| Borra un entorno por nombre exacto y lo libera. Las filas obsoletas también se autopodan después de 14 días en cualquier caso. |
Uso diario
/chat-across myproject # Claude / Kimi (Codex: type $ and pick chat-across)Eso es todo. El agente se ancla, envía su resumen, extrae el de los demás, y te dice qué están haciendo los otros agentes. Luego:
"Continúa lo que estaba haciendo Codex" → el agente extrae la cola + memoria + documentación del proyecto de Codex y retoma desde la última frase.
"¿Qué entornos hay?" →
/chat-across-listo simplemente pregunta."Empieza project1 de nuevo, limpio" →
/chat-across-delete project1, luego/chat-across project1.
Sesión nueva, mismo hilo
Las sesiones también son pares — incluidas las tuyas propias más antiguas. Abre una sesión completamente nueva (mismo proveedor u otro distinto), ancla al mismo entorno, y el resumen de la sesión anterior llega con la conexión. Di "continúa donde dejé mi última sesión" y el agente lee la cola nativa de esa sesión y retoma desde la última frase.
Esto funciona incluso si la sesión anterior está cerrada, bloqueada o alcanzó su límite de contexto — el puente lee su archivo de transcripción, no un proceso vivo. La reanudación nativa del proveedor (claude --resume, la lista de sesiones de Codex) sigue siendo la primera opción para reinicios simples del mismo proveedor; este es el respaldo estructurado que también sobrevive a la compactación, los cambios de cuota y los saltos de proveedor. Único requisito: la sesión anterior se ancló al menos una vez mientras estaba viva.
Instalación
Cuatro pasos: instala el paquete → regístralo en cada host → instala las plantillas de comandos de barra → reinicia los hosts. Funciona en Windows / macOS / Linux (Node ≥ 20), sin clonar, sin compilar.
1. Instala el paquete
npm install -g chat-acrossEsto coloca el comando chat-across en tu PATH y el paquete (servidor + plantillas) en el directorio global de npm — npm root -g imprime la ubicación exacta; el paquete vive en <esa ruta>/chat-across.
2. Registra el servidor en cada host
El mismo servidor en todas partes, solo cambia la etiqueta:
# Claude Code
claude mcp add chat-across -s user --env CHATACROSS_HOST_LABEL=claude-code -- chat-across# ~/.codex/config.toml — add this section
[mcp_servers.chat-across]
command = "chat-across"
env = { CHATACROSS_HOST_LABEL = "codex-app" }// ~/.kimi-code/mcp.json — merge into mcpServers
{ "mcpServers": { "chat-across": {
"command": "chat-across",
"env": { "CHATACROSS_HOST_LABEL": "kimi-code" } } } }¿Prefieres no instalar globalmente? Usa npx -y chat-across como comando en las tres configuraciones. ¿Desarrollando o contribuyendo? git clone + npm install + apunta las configuraciones a node <repo>/src/server.mjs.
3. Instala los comandos de barra
La carpeta examples/ se incluye dentro del paquete npm. Copia sus plantillas en el directorio de comandos/skills de cada host — le dan a cada agente los cinco comandos /chat-across* y le enseñan a auto-compactar + enviar + extraer al conectar y a pasar su UUID de sesión.
macOS / Linux:
EX="$(npm root -g)/chat-across/examples"
mkdir -p ~/.claude/commands ~/.kimi-code/commands ~/.codex/skills
cp "$EX"/claude-commands/*.md ~/.claude/commands/
cp "$EX"/claude-commands/*.md ~/.kimi-code/commands/
cp -r "$EX"/codex-skills/* ~/.codex/skills/Windows (PowerShell):
$ex = Join-Path (npm root -g) 'chat-across\examples'
New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\commands", "$env:USERPROFILE\.kimi-code\commands", "$env:USERPROFILE\.codex\skills" | Out-Null
Copy-Item "$ex\claude-commands\*.md" "$env:USERPROFILE\.claude\commands\"
Copy-Item "$ex\claude-commands\*.md" "$env:USERPROFILE\.kimi-code\commands\"
Copy-Item "$ex\codex-skills\*" "$env:USERPROFILE\.codex\skills\" -Recurse -Force4. Reinicia y verifica
Reinicia cada aplicación host para que lea la nueva configuración de MCP, y luego comprueba:
Claude Code:
claude mcp list→chat-across … ✔ ConnectedCodex:
codex mcp get chat-across→enabled: true; escribir$debería ofrecer las skills dechat-acrossKimi: pregúntale "qué herramientas de chat-across tienes"
Escribe /chat-across test en cualquiera de ellos — created: true significa que el puente está vivo.
Dónde vive todo
Qué | Dónde |
Servidor + plantillas de |
|
El comando | directorio bin global de npm (ya en PATH) |
Datos del puente (SQLite: solo briefs y punteros) |
|
Comandos slash que instalaste en el paso 3 |
|
Desinstalación = npm uninstall -g chat-across + eliminar los registros y las plantillas copiadas + borrar el directorio de datos. No se escribe nada más en ningún otro lugar.
Cómo se diferencia de lo existente
Las herramientas de contexto entre agentes son un espacio concurrido — y casi todas toman una de dos vías:
Herramientas de capa de memoria (memorix, cass-memory, cross-agent-memory, OpenMemory, …) construyen su propio almacén: los hooks de parada o los pipelines de ingesta resumen tus sesiones en su base de datos vectorial / playbook, y los agentes deben escribir en él. Potente, pero es un segundo cerebro que mantener, y contiene copias que se vuelven obsoletas.
Puentes de mensajería en vivo (AgentBridge sobre Claude Channels ↔ Codex App Server, …) permiten que dos sesiones en ejecución hablen en tiempo real. Genial para la edición conjunta; no ayuda cuando la sesión par está cerrada, se ha bloqueado o está fuera de cuota — que es exactamente cuando necesitas una toma de control.
chat-across toma una tercera vía: sin almacén, sin hooks, sin embeddings, sin acoplamiento en vivo. Los hosts ya persisten todo — transcripciones, memorias, documentos de proyecto — así que el puente solo resuelve dónde y analiza in situ, bajo demanda. Lo único que escribe es un brief limitado por sesión. Si se elimina la base de datos del puente, no se pierde nada de valor.
Reglas de diseño
Cero copias: las conversaciones, memorias y documentos se leen in situ desde el almacenamiento propio de cada host. El puente solo almacena punteros y un brief limitado por sesión (máx. 32KB, poda a los 14 días). Solo local, sin red.
Cierre ante fallos: una sesión sin anclar no puede tocar ningún entorno.
Nunca reconstruir lo que el host ya tiene: sin banco de memoria compartido, sin espejo de transcripciones, sin motor de búsqueda. El agente lector tiene un modelo; el texto sin procesar es suficiente.
Resolución honesta: los punteros de transcripción están etiquetados como
uuid/explicit/heuristicpara que los lectores sepan cuánto confiar en ellos.Fallo ruidoso:
sync/connectverifican que su commit realmente se haya aplicado antes de declarar éxito e informan del archivo de base de datos al que escribieron; una base de datos corrupta se pone en cuarentena (bridge.sqlite.corrupt.<ts>) y se reconstruye ruidosamente al inicio — el puente nunca corre herido y nunca finge.
Añadir un proveedor
Cada proveedor son ~60 líneas: una raíz de sesión + un analizador de líneas de transcripción + un derivador de cwd + (opcionalmente) un lector de almacén de memoria. Los tres actuales (Claude Code / Codex / Kimi Code) son la plantilla — agentes como OpenCode, Hermes, Kiro, o cualquier cosa compatible con MCP que persista sesiones en disco se pueden añadir de la misma manera. Consulta CONTRIBUTING.md para la lista de verificación del adaptador y los requisitos de fixtures.
Advertencias
Claude Code elimina automáticamente las transcripciones de sesión después de 30 días (la limpieza se ejecuta en cada lanzamiento). Si dependes de una toma de control de larga duración, aumenta
cleanupPeriodDaysen~/.claude/settings.json— de lo contrario, un puntero de par puede sobrevivir a su archivo.Los tres formatos de transcripción son internos de proveedor no documentados y derivarán; los analizadores están acoplados por naturaleza a la versión (probados contra Claude Code 2.x, Codex 0.146–0.147, Kimi Code wire v2). Se aceptan PRs.
Se recomienda encarecidamente
sessionUuidal conectar — sin él, el puente recurre a la coincidencia del archivo activo más reciente, lo que puede mapear incorrectamente cuando varias sesiones de un proveedor se ejecutan a la vez.Las colas/memorias pasan por un filtro básico de redacción de secretos; es un cinturón de seguridad, no una garantía.
No apuntes
CHATACROSS_DATA_DIRa%APPDATA%(u otras rutas de carpetas conocidas) en Windows si alguno de tus hosts de agente es una aplicación empaquetada con MSIX: la virtualización de AppData de Windows da silenciosamente a los procesos de contenedor su propia copia superpuesta de esas rutas, dividiendo el puente en mundos paralelos que nunca convergen. El valor predeterminado (~/.chat-across) está exento. Diagnosticado en el campo de la manera difícil.
Licencia
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Shared memory for coding agents. Stop re-explaining your codebase every session.
Persistent cross-session memory shared by Codex, Claude Code, ChatGPT, and other AI agents.
The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.
Shared project context for AI agents and teams: docs, tasks, and messages that stay current.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to explore, search, and reference code implementation details across different project repositories. It also supports a task delegation protocol for agents to request and track work between separate codebases.
- AlicenseNot gradedqualityDmaintenanceThe simplest way to bridge and collaborate across AI Agent sessions like Claude Code, Codex, Gemini, or Cursor. It allows your agents to combine their strengths to solve your most difficult tasks without leaving their current context.3866MIT
- AlicenseNot gradedqualityBmaintenanceA multi-agent collaboration layer for AI coding agents enabling real-time communication, code review, and task handoff across distributed development sessions.1337MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/VictorZhang01/chat-across'
If you have feedback or need assistance with the MCP directory API, please join our Discord server