Model Context Protocol · Beta

모든 AI 도구 안의 내 기억

명령 한 줄이면 Claude Code, Claude Desktop, Cursor 등 모든 MCP 호스트가 WOS 계정 기반 장기기억을 갖습니다. 통합 코드는 필요 없습니다. 에이전트가 기억 도구 9개를 받아 스스로 판단해 씁니다.

MCP는 베타입니다. 아홉 개의 툴은 지금도 동작하고 테스트돼 있지만, 완성해 가는 동안 표면이 바뀔 수 있습니다. 그 아래의 API와 SDK는 안정적이고 버전 관리됩니다.

설치

Claude Code는 한 줄입니다 (키는 콘솔에서 먼저 발급):

claude mcp add wontopos --env WONTOPOS_API_KEY=wos-live-... -- npx -y wontopos-mcp
# pick which store it remembers into (optional): add --env WONTOPOS_USER_ID=my-project
# ~/.cursor/mcp.json
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }
# .vscode/mcp.json
{ "servers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }
# ~/.codeium/windsurf/mcp_config.json
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }
# Claude Desktop and any other MCP host
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }

Add to Cursor →  ·  Add to VS Code →

선택 env: WONTOPOS_USER_ID는 기본 저장소, WONTOPOS_MODEL은 엔진, WONTOPOS_BASE_URL은 다른 API 호스트를 지정합니다. WONTOPOS_READ_ONLY=1은 읽기 전용으로 전환합니다(회수·검색·조회만).

저장소를 공유하기 전에 알아둘 것

  • 전용 키를 쓰세요. 키는 워크스페이스를 품고 있어서, MCP 전용으로 만든 키는 연결된 도구들이 닿을 수 있는 범위 자체를 좁힙니다 - 앱 키는 건드리지 않고 콘솔에서 언제든 회전할 수 있습니다.
  • 읽기 전용 모드. WONTOPOS_READ_ONLY=1이면 쓰기 툴이 아예 등록되지 않습니다: 에이전트는 회수·검색·기억 목록·engram 실행·통계 조회만 할 수 있고 저장·갱신·삭제는 불가능합니다. 기억을 소유하는 게 아니라 참고만 해야 하는 에이전트에 맞습니다.
  • 툴 실행 확인은 켜두세요. MCP 호스트는 기본적으로 툴 실행 전에 물어봅니다 - 특히 forget은 켜두세요. 삭제는 그 저장소의 모든 도구에 공유되기 때문입니다.
  • 저장된 것은 키를 가진 모든 도구가 회수할 수 있습니다. 비밀 - API 키, 비밀번호 - 은 절대 기억으로 저장하지 마세요.
  • 회수된 기억은 데이터지 지시가 아닙니다. 툴 설명이 에이전트에게 이걸 명시적으로 말해줍니다. 그래도 자율 에이전트가 따르는 저장소에는 신뢰할 수 없는 제3자 텍스트를 기억으로 저장하지 마세요.
  • 삭제도 공유됩니다. 한 도구에서의 forget·delete_all은 모든 도구에서 사라지는 것입니다.
  • "me"는 그 저장소에 쓰는 에이전트 자신을 뜻합니다. 여러 에이전트가 한 저장소를 공유하면 "me"의 목소리가 섞입니다. 정체성을 구분하려면 에이전트마다 저장소를 따로 지정하세요(WONTOPOS_USER_ID).
  • 과금은 계정 하나로 모입니다. 연결된 모든 도구가 같은 잔액과 속도 한도에서 차감됩니다.

그다음은 대화만 하면 됩니다

you우리 금요일마다 배포하는 거 기억해둬

에이전트가 remember 툴을 호출합니다. 저장소에 영구 저장되어 세션이 끝나도 사라지지 않습니다.

new session우리 언제 배포하지?

새 세션엔 대화 기록이 0입니다. 에이전트가 recall을 호출해 기억으로 답합니다: 금요일.

이렇게 말해보세요

  • "이 레포는 pnpm 써, 기억해둬" → remember가 저장하고, 다음 세션은 이미 알고 있습니다.
  • "지난주에 정한 에러 응답 형식이 뭐였지?" → recall이 그 결정을 컨텍스트로 다시 불러옵니다.
  • "사실 마감이 금요일로 바뀌었어" → 에이전트가 회수한 기억과 어긋난 걸 알아채고 update로 그 기억을 제자리에서 고칩니다.
  • "그거 잘못 기억한 거야, 지워" → 에이전트가 기억 id를 찾아 forget을 호출합니다. 실행 전에 호스트가 확인을 요청합니다.
  • "나에 대해 뭘 기억해?" → list_memories가 저장된 걸 전부 훑어서, 에이전트가 답하거나 정리할 수 있습니다.

특별한 명령어 문법은 없습니다 - 위 예시는 전부 평범한 문장입니다. 에이전트가 각 툴 설명을 읽고 스스로 고릅니다.

아홉 개의 툴

  • recall - 한 번의 호출로 컨텍스트: 최근 턴 + 관련 장기기억. 과거 맥락이 필요할 때 가장 먼저 호출하도록 툴 설명에 명시해 두었습니다.
  • remember - 지속될 사실·결정을 저장. speaker: "me"는 에이전트 자신의 말, 등록된 이름은 그 사람의 말로 남습니다.
  • search - 의미 검색. 사람별 speaker 필터와, 시간·주제로 범위를 좁히는 filters("6월에 뭘 정했지?") — 의미만으로는 좁힐 수 없는 축이 바로 '언제'다.
  • update - 사실이 바뀐 기억을 새 내용으로 대체합니다. 지우지 않고 흔적을 남깁니다.
  • forget - id로 기억 하나를 삭제.
  • list_memories - 저장된 것을 페이지 단위로 훑습니다. "나에 대해 뭘 기억해?"에 답하거나 정리할 때 씁니다.
  • engram - 검색 한 번으로 부족할 때 내장 멀티홉 파이프라인(deep_recall, timeline, gather)을 실행합니다.
  • stats - 저장소에 얼마나 들어 있는지 봅니다. 정리 전에, 그리고 쓰기가 실제로 들어갔는지 확인할 때 씁니다.
  • create_store - 저장소는 명시적입니다. 최종 사용자·프로젝트·에이전트마다 하나씩.

SDK랑 MCP, 뭐가 다르지?

  • SDK는 당신이 짜는 앱 안에 들어갑니다. 언제 저장하고 무엇을 회수할지 당신의 코드가 정확히 결정합니다 - 결정론적이고, 타입이 있고, 버전 관리됩니다. 제품을 만든다면 SDK입니다.
  • MCP는 당신이 만들지 않은 AI 도구에 꽂습니다. 기억을 언제 쓸지는 에이전트가 툴 설명을 보고 판단합니다 - 코드 0줄. Claude Code·Claude Desktop·Cursor에, 혹은 완성된 어시스턴트에 기억을 달 때 맞습니다.

밑은 같은 API, 같은 저장소입니다 - SDK로 만든 앱과 MCP로 붙인 Claude Code 세션이 하나의 기억을 공유합니다. 양자택일이 아니라 표면마다 골라 쓰는 것입니다.

모든 도구를 가로지르는 하나의 기억

기억은 도구가 아니라 계정에 속합니다. ChatGPT(Actions + OpenAPI 스펙)에서 쓴 저장소가 Claude Code에서, 당신의 에이전트에서 그대로 회수되고, 반대도 됩니다. 한 도구에서 시작한 대화가 다른 도구에서 이어집니다.

그리고 하나의 저장소이기 때문에, Claude Code에 붙여 쓰다가 그대로 개인 에이전트와 대화를 이어갈 수 있습니다. 같은 키·같은 저장소의 SDK 에이전트는 Claude Code가 방금 배운 걸 전부 회수하고, 에이전트가 저장한 건 다음 세션의 Claude Code가 회수합니다.

로컬에서 stdio로 돕니다(npx wontopos-mcp). 이 방식에서는 키가 당신의 환경에만 있고 MCP 세션의 일부로 저희에게 전송되지 않습니다. TypeScript SDK를 감싼 것이라 자동 재시도·리다이렉트 거부·키 마스킹이 그대로 적용됩니다.
부가기능 · Beta

MCP - AI 도구를 위한 기억

WOS의 본체는 API와 SDK입니다. MCP 서버는 그 위의 부가기능입니다. 같은 기억을, 당신이 만들지 않은 도구에 꽂습니다 - Claude Code, Claude Desktop, Cursor.

설치 한 줄이면 에이전트가 기억 도구 9개를 받아 스스로 씁니다. 기억은 계정에 있어 한 도구가 저장한 것을 다른 모든 도구가 회수합니다. SDK로 직접 만든 에이전트도 마찬가지입니다.

이걸로 뭐가 되나

  • 프로젝트를 기억하는 Claude Code. 결정, 버그 픽스, 선호 - 다음 세션에서 다시 설명할 필요 없이 그대로 회수됩니다.
  • ChatGPT에서 시작해 Claude에서 이어가기. 같은 저장소, 같은 기억 - 대화가 처음부터 다시가 아니라 도구를 건너 이어집니다.
  • 내 개인 에이전트도 같은 기억 안에. Claude Code가 배운 걸 SDK 에이전트가 회수하고, 에이전트가 저장한 걸 Claude Code가 되받아 회수합니다.

Claude Code, Claude Desktop, Cursor, Windsurf 등 모든 MCP 호스트에서 동작합니다. ChatGPT는 Actions + OpenAPI 스펙으로 같은 기억에 닿습니다.

설치

claude mcp add wontopos --env WONTOPOS_API_KEY=wos-live-... -- npx -y wontopos-mcp

에이전트는 아홉 개의 툴을 받습니다 - recall · remember · search · update · forget · list_memories · engram · stats · create_store - 각 툴 설명이 언제 쓸지까지 알려줘서 스스로 판단해 씁니다.

부가기능 자체는 무료이며 npm에 공개되어 있습니다. 과금은 이 툴이 호출하는 API 사용량에 평소 요금 그대로 적용됩니다. Node 18 이상과 콘솔에서 만든 API 키가 필요합니다.

개발자 문서 열기

Model Context Protocol · Beta

Claude Code

대표 경로입니다. 터미널 명령 한 줄이면 모든 세션이 기억과 함께 시작됩니다.

  1. 콘솔에서 API 키를 만드세요. 키는 워크스페이스를 품고 있어서, 키 하나 = 기억 공간 하나입니다.
  2. 서버를 등록하세요. --scope user면 모든 프로젝트에서 쓸 수 있고, 없으면 현재 프로젝트에서만 보입니다.
  3. 확인: Claude Code 안에서 /mcp를 실행하면 wontopos가 툴 9개와 함께 떠야 합니다.
  4. 자동화 팁: CLAUDE.md에 "과거 맥락이 필요하면 wontopos recall을 먼저 호출" 한 줄을 넣으면, 시키지 않아도 매 세션이 기억과 함께 시작합니다.
claude mcp add wontopos --scope user \
  --env WONTOPOS_API_KEY=wos-live-... -- npx -y wontopos-mcp
# pick a store (optional): add --env WONTOPOS_USER_ID=my-project
Model Context Protocol · Beta

Claude Desktop

아래 블록을 claude_desktop_config.json에 넣고(설정 → 개발자 → Edit Config) 앱을 재시작하면 툴 9개가 나타납니다. 참고: 웹·모바일 claude.ai는 원격 MCP 서버가 필요한데 WOS는 아직 제공하지 않습니다 - 데스크톱 앱이 지원 경로입니다.

# claude_desktop_config.json
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }
Model Context Protocol · Beta

Cursor

아래 블록을 ~/.cursor/mcp.json에 넣거나 원클릭 버튼을 누르고 Cursor를 재시작하세요. 에이전트가 툴 9개를 집어 듭니다.

# ~/.cursor/mcp.json
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }

Add to Cursor →

Model Context Protocol · Beta

VS Code

VS Code(Copilot 에이전트 모드)는 프로젝트의 .vscode/mcp.json에서 MCP 서버를 읽습니다. 아래 블록을 넣거나 원클릭 버튼을 누르세요.

# .vscode/mcp.json
{ "servers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }

Add to VS Code →

Model Context Protocol · Beta

Windsurf

Windsurf(Cascade)는 ~/.codeium/windsurf/mcp_config.json을 읽습니다. 아래 블록을 넣고 리로드하면 같은 툴 9개가 나타납니다.

# ~/.codeium/windsurf/mcp_config.json
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }
Model Context Protocol · Beta

ChatGPT

ChatGPT의 MCP 커넥터는 원격 서버만 받아서, 지금의 지원 경로는 커스텀 GPT의 Action입니다: GPT를 만들고 Action을 추가한 뒤 아래 OpenAPI 스펙 URL을 붙여넣고 API 키를 인증 헤더로 설정하세요. 그러면 그 GPT가 다른 도구들과 같은 기억을 호출합니다.

# GPT → Configure → Actions → Import from URL
https://api.wontopos.com/openapi.json
# Authentication: API Key · Header name: X-API-Key

같은 저장소, 같은 기억입니다. ChatGPT가 Action으로 저장한 걸 Claude Code가 MCP로 회수하고, 반대도 됩니다.

Model Context Protocol · Beta

Gemini CLI

Gemini CLI는 ~/.gemini/settings.json에서 MCP 서버를 읽습니다. 아래 블록을 넣고 CLI를 재시작하면 같은 툴 9개가 거기서도 나타납니다.

# ~/.gemini/settings.json
{ "mcpServers": {
    "wontopos": {
      "command": "npx",
      "args": ["-y", "wontopos-mcp"],
      "env": { "WONTOPOS_API_KEY": "wos-live-...",
               "WONTOPOS_USER_ID": "my-project" }
    } } }