연결 가이드

Vibe Mind를 에이전트에 연결하기

가장 빠른 방법은 에이전트에게 한 문장을 보내 직접 연결하게 하는 것입니다. 수동으로 설정할 수도 있습니다. MCP를 추가하고 브라우저에서 승인하면 됩니다(또는 액세스 토큰 사용). 컴퓨터마다 한 번만 설정하면 모든 프로젝트에서 쓸 수 있습니다.

연결 진행 상황
  • 이메일 인증 완료
  • 브라우저에서 승인 완료
  • Claude Code 연결됨
  • project_list 호출 성공
★

한 문장으로 연결(권장)

아래 문장을 에이전트(Claude Code, Cursor 등)에게 보내세요. 에이전트가 연결 가이드를 읽고 MCP를 추가한 뒤, 브라우저 승인과 액세스 토큰 중 무엇을 쓸지 묻고, 사용 규칙을 작성하고 skill을 설치합니다.

에이전트에게 보내기
Set up Vibe Mind by following https://vibe-mind.iguos.com/install.md?lang=en

아래 단계에 따라 수동으로 설정할 수도 있습니다.

1

가입 및 이메일 인증

Vibe Mind를 열어 이메일로 가입한 뒤, 인증 메일의 링크를 눌러 인증을 완료합니다. 이 단계는 건너뛸 수도 있습니다. 연결할 때 브라우저에서 승인 페이지가 열리므로 그 자리에서 가입할 수 있습니다.

Vibe Mind 열기

2

인증 방식 선택

MCP OAuth를 지원하는 에이전트(Claude Code, Cursor 등)는 브라우저 승인을 권장합니다. 연결할 때 Vibe Mind 승인 페이지가 열리면 로그인하고 접근할 프로젝트를 고른 뒤 ‘허용’을 누르면 됩니다. 토큰을 복사할 필요가 없고, 토큰은 1시간마다 자동으로 갱신됩니다. OAuth를 지원하지 않는 에이전트는 사이드바의 ‘AI 연결’ 페이지에서 액세스 토큰을 발급하세요:

  • 토큰이 접근할 수 있는 프로젝트를 제한하고 유효 기간을 설정할 수 있습니다
  • 토큰 전체는 발급할 때 한 번만 표시되니 안전하게 보관하세요
  • 컴퓨터나 에이전트마다 따로 발급해 두면 개별적으로 취소할 수 있습니다
3

에이전트에 MCP 설정 추가

‘AI 연결’ 페이지의 ‘수동 설정’에 에이전트별 설정이 있으며, 아래는 그 예시입니다. 권장하는 OAuth 방식은 토큰이 필요 없습니다. 액세스 토큰을 쓰는 경우 vm_xxxxxxxxxxxxxxxx를 내 토큰으로 바꾸세요.

Claude Code

권장: 아래 두 명령을 실행합니다. 두 번째 명령이 브라우저에서 승인 페이지를 열면 로그인하고 ‘허용’을 누르세요(Claude Code에서 /mcp를 입력하고 vibe-mind → Authenticate를 선택해도 됩니다):

터미널
claude mcp add --transport http --scope user vibe-mind https://vibe-mind.iguos.com/mcp
claude mcp login vibe-mind

또는 액세스 토큰 사용:

터미널
claude mcp add --transport http --scope user vibe-mind https://vibe-mind.iguos.com/mcp \
  --header "Authorization: Bearer vm_xxxxxxxxxxxxxxxx"

프로젝트 루트의 .mcp.json에 작성해 팀과 같은 설정을 공유할 수도 있습니다(토큰은 각자 환경 변수 VIBE_MIND_TOKEN에 설정):

.mcp.json
{
  "mcpServers": {
    "vibe-mind": {
      "type": "http",
      "url": "https://vibe-mind.iguos.com/mcp",
      "headers": {
        "Authorization": "Bearer ${VIBE_MIND_TOKEN}"
      }
    }
  }
}

Codex

권장: ~/.codex/config.toml에 아래 내용을 추가한 뒤, 터미널에서 codex mcp login vibe-mind를 실행하고 브라우저에서 로그인해 ‘허용’을 누르세요:

~/.codex/config.toml
[mcp_servers.vibe-mind]
url = "https://vibe-mind.iguos.com/mcp"

또는 액세스 토큰 사용: 같은 섹션에 bearer_token_env_var를 추가하고, 셸 설정 파일에서 환경 변수 VIBE_MIND_TOKEN을 내 토큰으로 설정하세요(Codex는 환경 변수에서만 토큰을 읽습니다):

~/.codex/config.toml
[mcp_servers.vibe-mind]
url = "https://vibe-mind.iguos.com/mcp"
bearer_token_env_var = "VIBE_MIND_TOKEN"

Gemini CLI

권장: ~/.gemini/settings.json의 mcpServers에 주소만 작성하고(기존 내용이 있으면 병합), Gemini CLI에서 /mcp auth vibe-mind를 입력한 뒤 브라우저에서 로그인해 ‘허용’을 누르세요:

~/.gemini/settings.json
{
  "mcpServers": {
    "vibe-mind": {
      "httpUrl": "https://vibe-mind.iguos.com/mcp"
    }
  }
}

또는 액세스 토큰 사용:

~/.gemini/settings.json
{
  "mcpServers": {
    "vibe-mind": {
      "httpUrl": "https://vibe-mind.iguos.com/mcp",
      "headers": {
        "Authorization": "Bearer vm_xxxxxxxxxxxxxxxx"
      }
    }
  }
}

Cursor

권장: Cursor의 MCP 설정 파일(전역 ~/.cursor/mcp.json 또는 프로젝트의 .cursor/mcp.json)에는 주소만 작성하고, Cursor의 MCP 설정에서 로그인한 뒤 브라우저에서 ‘허용’을 누르세요:

mcp.json
{
  "mcpServers": {
    "vibe-mind": {
      "url": "https://vibe-mind.iguos.com/mcp"
    }
  }
}

또는 액세스 토큰 사용:

mcp.json
{
  "mcpServers": {
    "vibe-mind": {
      "url": "https://vibe-mind.iguos.com/mcp",
      "headers": {
        "Authorization": "Bearer vm_xxxxxxxxxxxxxxxx"
      }
    }
  }
}

기타 에이전트

원격 MCP(Streamable HTTP)를 지원하는 에이전트라면 모두 연결할 수 있습니다. OAuth를 지원하면 서버 주소만 입력하고 안내에 따라 브라우저에서 승인하세요. 지원하지 않으면 요청 헤더에 Authorization: Bearer <액세스 토큰>을 넣으세요. 서버 주소는 다음과 같습니다: https://vibe-mind.iguos.com/mcp

4

연결 확인

에이전트와 새 대화를 시작한 뒤(이미 열려 있던 대화에서는 방금 연결한 Vibe Mind가 보이지 않습니다) project_list를 호출하게 하세요. 프로젝트 목록이 보이면 연결에 성공한 것입니다(새 계정에도 기본 프로젝트 @knowhow, 즉 노하우가 있습니다). ‘AI 연결’ 페이지에도 해당 승인이나 토큰의 마지막 사용 시각이 표시됩니다. 습관과 선호는 기본적으로 꺼져 있습니다. 에이전트가 내 습관대로 일하게 하려면 콘솔의 ‘Brain’ 페이지에서 활성화하세요. 목록에 @brain이 추가됩니다.

5

훅을 설치해 모든 작업이 Vibe Mind를 거치도록

사용 규칙만으로는 에이전트가 잊어버릴 수 있습니다. 훅을 설치하면 매번 Vibe Mind를 기준으로 삼습니다(Claude Code, Codex, Gemini CLI, Cursor 지원):

  • 작업을 시작할 때 현재 프로젝트의 메모리와 사용 규칙을 자동으로 컨텍스트에 넣으므로 에이전트가 직접 읽을 필요가 없습니다. 첫 메시지를 보내면 그 내용과 관련된 메모리도 추가합니다(세션당 한 번만 조회)
  • 마무리할 때 코드를 바꿨거나 커밋했거나, 사용자가 바로잡거나 규칙을 정했는데 아직 Vibe Mind에 기록하지 않았다면 한 번 멈추고 에이전트가 기록하게 합니다. 세션이 중간에 닫히거나 압축되면 다음 시작 때 보완합니다(단순 대화는 막지 않습니다)
  • 에이전트에 내장된 로컬 메모리는 예비로 남겨 두며, 내용이 다르면 Vibe Mind를 우선합니다

Claude Code: 훅 스크립트를 내려받은 뒤 아래 블록을 ~/.claude/settings.json에 병합합니다. 훅 토큰은 ~/.vibe-mind/hook-token에 둡니다. OAuth로 승인했다면 에이전트가 MCP 도구 hook_token을 호출해 발급하게 하고, 액세스 토큰을 쓴다면 같은 토큰을 넣으세요.

터미널
mkdir -p ~/.vibe-mind && curl -fsSL https://vibe-mind.iguos.com/hooks/vibe-mind-hook.sh \
  -o ~/.vibe-mind/hook.sh && chmod +x ~/.vibe-mind/hook.sh
~/.claude/settings.json
{
  "hooks": {
    "SessionStart": [{ "matcher": "startup|clear|compact",
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh claude start en" }] }],
    "UserPromptSubmit": [{
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh claude prompt en" }] }],
    "Stop": [{
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh claude stop en" }] }],
    "SessionEnd": [{
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh claude end en" }] }],
    "PreCompact": [{
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh claude end en" }] }]
  }
}

Codex: 같은 스크립트를 씁니다. 아래 블록을 ~/.codex/hooks.json에 병합한 뒤, Codex에서 /hooks를 입력해 이 훅들을 신뢰하세요(신뢰하지 않으면 실행되지 않습니다).

~/.codex/hooks.json
{
  "hooks": {
    "SessionStart": [{ "matcher": "startup|resume|clear|compact",
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh codex start en" }] }],
    "UserPromptSubmit": [{
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh codex prompt en" }] }],
    "Stop": [{
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh codex stop en" }] }],
    "SessionEnd": [{
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh codex end en" }] }],
    "PreCompact": [{
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh codex end en" }] }]
  }
}

Gemini CLI: 같은 스크립트를 씁니다. 아래 블록을 ~/.gemini/settings.json에 병합합니다.

~/.gemini/settings.json
{
  "hooks": {
    "SessionStart": [{
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh gemini start en" }] }],
    "BeforeAgent": [{
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh gemini prompt en" }] }],
    "AfterAgent": [{
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh gemini stop en" }] }],
    "SessionEnd": [{
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh gemini end en" }] }],
    "PreCompress": [{
      "hooks": [{ "type": "command", "command": "bash ~/.vibe-mind/hook.sh gemini end en" }] }]
  }
}

Cursor: 같은 스크립트를 씁니다. 아래 블록을 ~/.cursor/hooks.json에 병합합니다. Cursor는 메시지를 보낼 때의 훅으로 컨텍스트를 추가할 수 없어 ‘첫 메시지’ 항목이 없습니다. 대신 작업 시작 시 불러온 사용 규칙에 따라 에이전트가 첫 메시지를 받은 뒤 직접 조회합니다.

~/.cursor/hooks.json
{
  "version": 1,
  "hooks": {
    "sessionStart": [{ "command": "bash ~/.vibe-mind/hook.sh cursor start en" }],
    "stop": [{ "command": "bash ~/.vibe-mind/hook.sh cursor stop en" }],
    "sessionEnd": [{ "command": "bash ~/.vibe-mind/hook.sh cursor end en" }],
    "preCompact": [{ "command": "bash ~/.vibe-mind/hook.sh cursor end en" }]
  }
}

한 문장으로 연결하면 이 모든 것이 자동으로 설치됩니다. 전체 안내(프로젝트 단위 / 클라우드 설치 포함)는 다음을 참고하세요: install.md

6

Vibe Mind 메모리 제대로 활용하기

연결한 뒤에는 이렇게 하면 에이전트가 경험을 더 잘 기록하고 재사용합니다:

  • 작업 전에는 이번에 할 일을 담아 에이전트가 memory_context를 호출하게 하여, 프로젝트 개요와 관련 메모리를 한 번에 읽게 합니다
  • 결정을 내리거나 문제를 해결한 뒤에는 배경, 결론, 이유를 해당 모듈에 기록하게 합니다
  • 콘솔에서 정기적으로 검토하고, 확인된 버전은 스냅샷으로 저장합니다
  • 직접 확인해야 할 요약, 진행 상황, 결정이 필요한 사항은 에이전트가 작업 노트에 쓰게 합니다

이 규칙을 에이전트의 전역 지침(Claude Code는 ~/.claude/CLAUDE.md, Codex는 ~/.codex/AGENTS.md, Gemini CLI는 ~/.gemini/GEMINI.md)에 적어 두면 작업할 때마다 따릅니다. 아래 블록을 그대로 쓰면 되며, 맨 앞과 맨 뒤의 표시 줄은 지우지 마세요. 새 버전이 나오면 에이전트가 안내에 따라 표시 사이의 내용만 바꿉니다.

~/.claude/CLAUDE.md · ~/.codex/AGENTS.md · ~/.gemini/GEMINI.md
<!-- VIBE_MIND_START -->
## Vibe Mind: brain, hands and work notes (different purposes, don't mix them up)
- Rule of thumb: will a future agent need to read this before starting work? Yes → memory (memory_write). Only for people to read → work notes (worknote_write).
- Where memory goes: true only for this project (anyone taking it over must follow it) → the current project, named after the repo, path "module/category/title", category one of conventions / decisions / pitfalls / runbooks / external / architecture / todo; about the user and true across projects → one of the 5 fixed files in project=@brain (the user may call it "Brain" or "灵犀") (boundaries / soul / goals / workstyle / profile), only what the user stated or corrected, with the evidence for each point, edited with append / replace_text; skills useful in other projects too → project=@knowhow.
- When the user corrects you or sets a rule, decide where it goes by scope, not by the fact that the user said it: true only in this project (how branches are cut, how releases go, who runs SQL, this product's feature choices) → the project's conventions; personal habits true in any project (reply language, commit attribution, taste, how to communicate) → @brain; when unsure, put it in the project. E.g. "cut bugfix branches from next" is a project convention, not the Brain.
- Starting work: call project_list, then memory_context with what you're about to do to get the Brain, relevant know-how, the project overview and memories in one call; work the way the Brain says, boundaries first, and weigh things by the soul when unsure. For a new project, first add three pages: README (what it is), project/runbooks/setup (how to set up a new computer; for keys, only where they live), project/todo/next-steps (progress and next steps). After a decision or a fix, write it down, reusing existing project and module names; before you finish, update progress and next steps under todo. Code is the truth for how things are now; memory is the truth for why and what's next; fix memory on the spot when they disagree.
- Tidying up: when the user says "tidy up", or the session-start context suggests it, call memory_tidy for the checklist, then merge duplicates, refile misplaced entries, fix stale ones and move general know-how into @knowhow; write a "tidy-up log" work note, then call memory_tidy again with done=true. Finish the task at hand first.
- Work notes: written for people, not read at session start — summaries, progress updates, investigations, option comparisons, questions that need a human decision. Write them with worknote_write by "project + title" (writing the same title again updates it; append adds progress), then share the returned link with the user. Notes you wrote can be viewed with worknote_list / worknote_read and deleted with worknote_delete (to the trash); notes written (or taken over) by the user are read-only for you.
- Don't put summaries or reports for people into memory; don't keep experience future agents need only in work notes (they aren't read at session start).
- Vibe Mind is the source of truth: experience always goes to Mind; your built-in local memory is only a fallback (note it locally when Mind is unreachable and write it to Mind once it's back); if they disagree, Mind wins.
- If a Vibe Mind tool the user asks for isn't in your tool list, this MCP connection was made before that tool shipped: ask the user to reconnect the Vibe Mind MCP server or start a new session; don't work around it another way.
- Version of these notes: vibe-mind-habits-v6. When the session-start context says there's a newer version, replace the part between VIBE_MIND_START and VIBE_MIND_END as instructed, without asking the user.
<!-- VIBE_MIND_END -->

Vibe Mind skill도 설치할 수 있습니다. Claude Code는 ~/.claude/skills/vibe-mind/에, Codex, Gemini CLI, Cursor는 ~/.agents/skills/vibe-mind/에 둡니다. SKILL.md

터미널
# Claude Code
mkdir -p ~/.claude/skills/vibe-mind && curl -fsSL https://vibe-mind.iguos.com/skills/vibe-mind/SKILL.md \
  -o ~/.claude/skills/vibe-mind/SKILL.md
# Codex, Gemini CLI, Cursor
mkdir -p ~/.agents/skills/vibe-mind && curl -fsSL https://vibe-mind.iguos.com/skills/vibe-mind/SKILL.md \
  -o ~/.agents/skills/vibe-mind/SKILL.md

더 궁금한 점이 있다면 다음을 확인하세요: 자주 묻는 질문