Skip to main content
Glama

chat-across

English | 中文

하나의 작은 MCP 서버로 여러분의 AI 코딩 에이전트들이 하나의 팀처럼 같은 프로젝트에서 작업할 수 있게 해줍니다 — 현재는 Claude Code, Codex, Kimi Code를 지원하며, 세션을 유지하는 모든 에이전트로 확장 가능합니다(벤더 추가는 약 60줄). 단일 슬래시 명령으로 세션을 이름 있는 환경에 앵커링하면, 모든 에이전트가 서로의 작업 내용을 네이티브 파일에서 직접, 제로-카피로 읽을 수 있습니다.

여러분의 환경과 워크플로우에 적응합니다 — 그 반대가 아닙니다. MCP 서버 하나를 설치하고 이미 작업 중인 곳에서 계속 작업하세요: Codex App, Claude Code / Desktop, Kimi Code를 나란히 또는 하나씩. 중앙 집중식 GUI도, 새로운 TUI도, 전환할 앱도, 마이그레이션할 것도 없습니다. 에이전트는 여러분의 것이며, 서로에게 낯선 사람이 되지 않을 뿐입니다.

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 duplicated

슬래시 명령

다섯 가지 명령이 모든 것을 처리합니다. Claude Code와 Kimi Code에서는 슬래시 명령이고, Codex에서는 $를 입력하고 같은 이름의 스킬을 선택합니다.

명령

수행되는 작업

/chat-across <name>

이 세션을 환경 <name>에 앵커합니다(첫 사용 시 생성, 반복 사용 시 참여). 에이전트는 이후 양방향으로 자동 동기화합니다: 자체 대화를 간단한 브리프로 압축하여 푸시하고, 모든 피어의 최신 브리프를 풀하고, 각 피어가 무엇을 하고 있는지 알려줍니다 — 모두 하나의 명령으로.

/chat-across-sync

수동 새로고침: 업데이트된 브리프 푸시, 피어 최신 풀. 에이전트는 중요한 마일스톤 이후에도 자체적으로 이 작업을 수행하므로 거의 필요하지 않습니다.

/chat-across-disconnect

분리. 세션은 완전한 격리로 돌아갑니다 — 모든 공유 데이터 도구는 다시 앵커할 때까지 실패-폐쇄됩니다.

/chat-across-list

브리지의 모든 환경을 나열합니다: 어떤 벤더가 포함되어 있는지, 몇 개의 세션이 접촉했는지, 마지막으로 언제 움직였는지.

/chat-across-delete <name>

환경 삭제: 브리프와 포인터를 지우고 이름을 해제합니다. 이름 없이 호출하면 환경을 나열하고 확인을 요청합니다 — 절대 맹목적으로 삭제하지 않습니다. 브리지 기록만 정리하며, 누구의 대화 기록, 메모리, 파일도 건드리지 않습니다.

명령이 하는 모든 것은 일반 언어로도 접근 가능합니다 — "delete environment project1", "what environments are there", "continue what Codex was doing" 모두 작동합니다.

Related MCP server: Cross-Project MCP Server

제공되는 것

앵커링 — 환경을 만남의 장소로

환경은 고유한 이름(project1, mcp, 등)일 뿐입니다. 세션이 앵커되고, 앵커된 세션은 공유하며, 앵커되지 않은 세션은 물리적으로 외부에 있습니다 — 실패-폐쇄, 공유 없음, 오염 없음. 이름이 정체성입니다: 기존 이름으로 연결하면 항상 참여하므로 project1이 두 개가 될 수 없습니다.

도구

수행 작업

chat_across_connect

이름으로 생성-또는-참여. 이 세션의 자체 네이티브 트랜스크립트에 대한 포인터를 등록하고(에이전트가 세션 UUID를 전달하여 피어가 다시 읽을 수 있도록), 모든 피드의 최신 브리프를 반환합니다 — 참여만으로도 전체 팀의 상태를 알 수 있습니다.

chat_across_disconnect

분리; 모든 범위 도구가 다시 실패-폐쇄됩니다.

브리프 — "모두가 무엇을 하고 있는지" 레이어

각 세션은 브리지에 하나의 압축된 작업 브리프(목표 / 완료 / 주요 결정 / 다음)를 유지하며, 제자리에서 업서트됩니다 — 32KB로 제한, 세션당 한 행, 저장소가 물리적으로 커질 수 없습니다. 브리프는 작성자의 트랜스크립트의 바이트 워터마크를 포함하므로, 독자는 behindBytes를 볼 수 있습니다: 브리프가 작성된 이후 정확히 얼마나 많은 일이 발생했는지. 낡음은 추측이 아닌 측정된 숫자입니다.

피어는 벤더가 아닌 네이티브 세션 UUID로 키가 지정됩니다 — 한 벤더의 여러 세션은 구별됩니다(자동화 루프의 두 Claude 시트는 각각 자체 브리프를 유지), 재시작된 MCP 서버를 통해 다시 연결되는 동일한 세션은 하나의 항목으로 중복 제거됩니다. sessionUuid(모든 피드에 표시)를 모든 읽기-통과 도구에 전달하여 하나의 세션을 정확히 지정할 수 있습니다.

도구

수행하는 것

chat_across_sync

자체 브리프 푸시(업서트 + 워터마크), 피드의 최신 브리프 풀 — 한 번의 호출로 양방향.

네이티브 읽기-통과 — 이 프로젝트의 실제 목적

브리지에 복사되는 것은 없습니다. 에이전트가 피어가 무엇을 했는지 알고 싶을 때, 브리지는 피어의 자체 앱이 이미 저장하는 위치를 해석하고 제자리에서, 요청 시 파싱합니다:

도구

읽는 것

세부 사항

get_peer_tail

피드의 네이티브 세션 트랜스크립트 (Claude 프로젝트 .jsonl / Codex rollout / Kimi wire)

마지막 N개 교환(기본 10, 최대 50), 파일 끝에서 바이트 시크 — 라이브, 쓰기-잠긴 660MB rollout이 수 밀리초로 응답합니다. Codex 가디언 서브스레드 건너뛰기, 하네스 노이즈 필터링, 시크릿 형태 문자열 리댁트.

get_peer_memory

피드의 네이티브 메모리 저장소

Claude: 프로젝트별 메모리 디렉토리. Codex: 사용자 수준 저장소를 항목별 cwd 태그로 필터링. 여기에는 공유 메모리 뱅크가 없습니다 — 호스트가 이미 가진 것을 다시 만들지 마세요.

get_peer_instructions

피드 프로젝트의 상시 규칙

피드 프로젝트 루트의 CLAUDE.md / AGENTS.md / KIMI.md.

함께: 브리프 = 그들이 무엇을 하는지, 테일 = 정확한 마지막 말, 메모리 = 배운 것, 지침 = 프로젝트 규칙. 한 번의 연결로 완전한 인수 컨텍스트.

프로젝트 정체성은 파생되며, 구성되지 않습니다: 피드의 자체 아티팩트가 cwd를 전달합니다(Codex session_meta, Claude jsonl 레코드, Kimi state.json). 피드 세션이 닫혀 있거나, 크래시되었거나, 쿼터가 없어도 작동합니다 — 브리지는 라이브 프로세스가 아닌 파일을 읽습니다.

라이프사이클 — 가시성과 정리

도구

수행하는 것

list_environments

벤더가 있는 모든 환경, 세션 수, 마지막 활동 — "이 project1이 무엇인지" 스스로 답합니다.

chat_across_delete

정확한 이름으로 환경을 지우고 해제합니다. 오래된 행은 14일 후에도 자체 정리됩니다.

일상 사용

/chat-across myproject        # Claude / Kimi   (Codex: type $ and pick chat-across)

그게 전부입니다. 에이전트가 앵커하고, 브리프를 푸시하고, 다른 모든 것을 가져오고, 다른 에이전트가 무엇을 하고 있는지 알려줍니다. 그런 다음:

  • "Codex가 하던 것을 계속" → 에이전트가 Codex의 테일 + 메모리 + 프로젝트 문서를 가져와 마지막 문장부터 이어갑니다.

  • "어떤 환경이 있나요?"/chat-across-list 또는 그냥 물어보세요.

  • "project1을 깨끗하게 다시 시작"/chat-across-delete project1, 그 다음 /chat-across project1.

새 세션, 같은 스레드

세션도 피어입니다 — 자신의 이전 세션을 포함. 새 세션(같은 벤더 또는 다른 벤더)을 열고, 같은 환경에 앵커하면, 이전 세션의 브리프가 연결과 함께 도착합니다. *"마지막 세션이 중단된 곳에서 계속"*이라고 말하면 에이전트가 해당 세션의 네이티브 테일을 읽고 마지막 문장부터 재개합니다.

이전 세션이 닫혀 있거나, 크래시되었거나, 컨텍스트 한도에 도달해도 작동합니다 — 브리지는 라이브 프로세스가 아닌 트랜스크립트 파일을 읽습니다. 벤더 네이티브 재개(claude --resume, Codex 세션 목록)는 일반적인 같은 벤더 재시작의 첫 번째 선택입니다. 이것은 압축, 쿼터 전환, 벤더 이동에서도 살아남는 구조화된 폴백입니다. 유일한 요구 사항: 이전 세션이 살아 있는 동안 적어도 한 번 앵커했어야 합니다.

설치

네 단계: 패키지 설치 → 각 호스트에 등록 → 슬래시 명령 템플릿 설치 → 호스트 재시작. Windows / macOS / Linux(노드 ≥ 20)에서 작동하며, 클론 없음, 빌드 없음.

1. 패키지 설치

npm install -g chat-across

이렇게 하면 chat-across 명령이 PATH에 추가되고 패키지(서버 + 템플릿)가 npm의 전역 디렉토리 아래에 설치됩니다 — npm root -g가 정확한 위치를 출력합니다. 패키지는 <그 경로>/chat-across에 있습니다.

2. 각 호스트에 서버 등록

모든 곳에서 같은 서버, 레이블만 다릅니다:

# 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" } } } }

전역 설치를 원하지 않나요? 세 구성 모두에서 명령으로 npx -y chat-across를 사용하세요. 개발 또는 기여 중이신가요? git clone + npm install + 구성에서 node <repo>/src/server.mjs를 가리키세요.

3. 슬래시 명령 설치

examples/ 폴더는 npm 패키지 안에 포함되어 있습니다. 템플릿을 각 호스트의 명령/스킬 디렉토리에 복사하세요 — 모든 에이전트에게 다섯 개의 /chat-across* 명령을 제공하고, 연결 시 자동 압축 + 푸시 + 풀 및 세션 UUID 전달을 가르칩니다.

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 -Force

4. 재시작 및 확인

각 호스트 앱을 재시작하여 새 MCP 구성을 읽게 한 다음 확인하세요:

  • Claude Code: claude mcp listchat-across … ✔ Connected

  • Codex: codex mcp get chat-acrossenabled: true; $를 입력하면 chat-across 스킬이 제공되어야 합니다

  • Kimi: "chat-across 도구가 무엇이 있나요"라고 물어보세요

그 중 하나에서 /chat-across test를 입력하세요 — created: true는 브리지가 살아 있다는 뜻입니다.

모든 것이 있는 곳

품목

위치

서버 + examples/ 템플릿

$(npm root -g)/chat-across/

chat-across 명령어

npm의 전역 bin 디렉토리 (이미 PATH에 있음)

브리지 데이터 (SQLite: 브리핑 + 포인터만)

모든 OS에서 ~/.chat-across/CHATACROSS_DATA_DIR로 재정의 가능. (v0.1.4에서 %APPDATA%에서 이동: MSIX 패키지 호스트는 해당 경로가 자동으로 가상화되지만, 홈 닷디렉터리는 예외)

3단계에서 설치한 슬래시 명령

~/.claude/commands/, ~/.codex/skills/, ~/.kimi-code/commands/

제거 = npm uninstall -g chat-across + 등록 항목과 복사된 템플릿 제거 + 데이터 디렉토리 삭제. 다른 어디에도 쓰여지지 않습니다.

기존 분야와의 차이점

크로스 에이전트 컨텍스트 도구는 혼잡한 영역입니다 — 그리고 그들 대부분은 다른 두 가지 길을 택합니다:

  • 메모리 레이어 도구 (memorix, cass-memory, cross-agent-memory, OpenMemory, …)는 자체 저장소를 구축합니다: 스톱 훅 또는 수집 파이프라인이 결국 귀하의 세션을 그들의 벡터 DB / 플레이북으로 요약하고, 에이전트는 그곳에 써야 합니다. 강력하지만 유지 관리가 필요한 두 번째 두뇌이며, 써리(stale) 사본을 보관합니다.

  • 실시간 메시징 브리지 (Claude Channels ↔ Codex App Server의 오버레이인 AgentBridge 등)는 두 개 실행 중 세션이 실시간으로 대화할 수 있게 합니다. 협동 편집에는 좋지만, 피어 세션이 종료되었거나, 충돌했거나, 할당량 초과일 때는 도움이 되지 않습니다 — 바로 그 상황에서 인계가 필요한데 말이죠.

chat-across는 세 번째 길을 택합니다: 저장소 없음, 훅 없음, 임베딩 없음, 라이브 결합 없음. 호스트는 이미 모든 것을 지속합니다 — 트랜스크립트, 기억, 프로젝트 문서 — 따라서 브리지는 어디를 해결하고 그 자리에서 요청 시 파싱할 뿐입니다. 쓰는 것은 세션당 하나의 제한된 브리핑뿐입니다. 브리지 DB를 삭제해도 값진 것은 잃지 않습니다.

디자인 규칙

  • 제로 복사: 대화, 기억, 문서는 각 호스트의 고유 저장소에서 원래 위치로 읽힙니다. 브리지는 포인터와 세션당 하나의 제한된 브리핑(32KB 제한, 14일 정리)만 저장합니다. 로컬 전용, 네트워크 없음.

  • 폐쇄-종료: 앵커되지 않은 세션은 어떤 환경에도 접근할 수 없습니다.

  • 호스트가 이미 가진 것을 다시 구축하지 않습니다: 공유 메모리 뱅크, 트랜스크립트 미러링, 검색 엔진 없음. 읽는 에이전트는 모델을 가지고 있으므로 원본 텍스트로 충분합니다.

  • 정직한 해결: 트랜스크립트 포인터는 uuid / explicit / heuristic으로 라벨링되어 읽는 사람이 신뢰 정도를 알 수 있습니다.

  • 실패 시 명확하게: sync/connect는 성공을 주장하기 전에 커밋이 실제로 반영되었는지 확인하고 쓴 DB 파일을 보고합니다; 손상된 데이터베이스는 격리(bridge.sqlite.corrupt.<ts>)되고 시작 시 명시적으로 재빌드됩니다 — 브리지는 부상 캔고 빠지지 실행/하지 않고, 올바른 해도 척하지 않습니다.

벤더 추가

각 벤더는 약 60줄입니다: 세션 + 줄 + 트랜스크립트 파서 + 작업 디렉토리(deriver) + (선택적으로) 메모리 저장소 판독기. 현재의 세(A) (Claude Code / Codex / Kimi Code)가 템플릿입니다 — OpenCode, Hermes, Kiro 또는 MCP 지원으로 세션을 디스크에 지속하는 다른 에이전트도 같은 방식으로 추가할 수 있습니다. 어댑터 체크리스트와 픽스처 요구 사항은 CONTRIBUTING.md를 참조하세요.

주의사항

  • Claude Code는 세션 트랜스크립트를 30일 후 자동 삭제합니다(클린업은 일반적으로 실행 시 시작됨)). In 경우에 오래 지속되는 인계에 의존한다면 ~/.claude/settings.json에서 cleanupPeriodDays를 올리세요 — 그렇지 않으면 포인터가 파일보다 오래 살아남을 수 있습니다.

  • 세 가지 트랜스크립트 형식은 문서화되지 않은 벤더 내부 구현이라 변경될 수 있습니다; 파서는 본질적으로 특정 버전에 묶여있습니다 (Claude Code 2.x, Codex 0.146–0.147, Kimi Code wire v2에 대해 테스트됨). PR 환영합니다.

  • 연결 시 sessionUuid는 매우 권장됩니다 — 없으면 최신 활성 파일 매칭으로 폴백, 여러 세션이 동시에 실행될 때 오매핑될 수 있습니다.

  • 메모리 부분은 기본적인 비밀키 삭제 필터를 거칩니다; 이는 안전벨트이지 절대 보장이 아닙니다.

  • Windows에서 CHATACROSS_DATA_DIR%APPDATA%(또한 알려진 폴더 경로)로 설정하지 마십시오: 호스트 중 하나라도 MSIX-패키지 앱이라면 AppData가상화가 프로세스에게 경로의 오버레이 복사본을 조용히 만들어 결코 합쳐지지 않는 평행 세계로 갈라집니다. 기본값(~/.chat-across)은 예외입니다. 피와 땀으로 실제 진단했습니다.

라이선스

MIT

Maintenance

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables 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.
    2
  • A
    license
    Not graded
    quality
    D
    maintenance
    The 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.
    38
    66
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A multi-agent collaboration layer for AI coding agents enabling real-time communication, code review, and task handoff across distributed development sessions.
    13
    37
    MIT

Latest Blog Posts

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