hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Allows CI/CD integration through GitHub Actions, as shown by the test workflow badge in the README.
Uses markdown for structured information storage, organizing project data into markdown files for context management across sessions.
Provides package distribution through npm registry, enabling installation via npm commands and integration with package.json workflows.
원격 SSH 지원이 있는 메모리 뱅크 MCP 🧠
메모리 뱅크를 관리하는 모델 컨텍스트 프로토콜(MCP) 서버로, AI 어시스턴트가 세션 간에 정보를 저장하고 검색할 수 있도록 지원합니다. 이제 원격 서버 지원도 제공됩니다!
개요 📋
메모리 뱅크 서버는 AI 비서가 메모리 뱅크와 상호 작용할 수 있도록 도구와 리소스 세트를 제공합니다. 메모리 뱅크는 여러 세션에 걸쳐 맥락을 유지하고 진행 상황을 추적하는 데 도움이 되는 정보의 구조화된 저장소입니다.
특징 ✨
- 메모리 뱅크 관리 : 메모리 뱅크 초기화, 찾기 및 관리
- 파일 작업 : 메모리 뱅크에서 파일 읽기 및 쓰기
- 진행 상황 추적 : 진행 상황을 추적하고 메모리 뱅크 파일을 업데이트합니다.
- 의사결정 로깅 : 맥락과 대안을 고려하여 중요한 의사결정을 로깅합니다.
- 활성 컨텍스트 관리 : 활성 컨텍스트 정보 유지 및 업데이트
- 모드 지원 : 모드별 동작을 위해 .clinerules 파일을 감지하고 사용합니다.
- UMB 명령 : UMB 명령을 사용하여 메모리 뱅크 파일을 임시로 업데이트합니다.
- 강력한 오류 처리 : 가능한 경우 오류를 우아하게 처리하고 작업을 계속합니다.
- 상태 접두사 시스템 : 메모리 뱅크 작동 상태에 대한 즉각적인 가시성
- 원격 서버 지원 : SSH를 사용하여 원격 서버에 메모리 뱅크 저장
디렉토리 구조 📁
기본적으로 메모리 뱅크는 프로젝트 루트에 있는 memory-bank
디렉터리를 사용합니다. --path
옵션을 사용하여 프로젝트 경로를 지정하면 메모리 뱅크는 <project_path>/memory-bank
에 생성되거나 액세스됩니다.
--folder
옵션을 사용하여 메모리 뱅크 폴더의 이름을 사용자 지정할 수 있습니다. 예를 들어, --folder custom-memory
설정하면 메모리 뱅크는 <project_path>/custom-memory
에 생성되거나 액세스됩니다.
폴더 이름을 사용자 지정하는 방법에 대한 자세한 내용은 사용자 지정 메모리 뱅크 폴더 이름을 참조하세요.
최근 개선 사항 🛠️
- 원격 서버 지원 : SSH를 통해 원격 서버에 메모리 뱅크 저장
- 사용자 정의 가능한 폴더 이름 : 이제 메모리 뱅크에 대한 사용자 정의 폴더 이름을 지정할 수 있습니다.
- 일관된 디렉토리 구조 : 메모리 뱅크는 이제 항상 프로젝트 루트에 구성된 폴더 이름을 사용합니다.
- 향상된 초기화 : 이제 .clinerules 파일이 없어도 메모리 뱅크가 작동합니다.
- 더 나은 경로 처리 : 절대 경로와 상대 경로의 처리가 개선되었습니다.
- 개선된 디렉토리 감지 : 기존 메모리 뱅크 디렉토리를 더 잘 감지합니다.
- 더욱 강력한 오류 처리 : .clinerules 파일과 관련된 오류의 우아한 처리
자세한 내용은 메모리 뱅크 버그 수정을 참조하세요.
설치 🚀
지엑스피1
npx와 함께 사용하기 💻
npx를 사용하면 설치 없이 Memory Bank MCP를 직접 실행할 수 있습니다.
npx 사용에 대한 자세한 내용은 npx-usage.md를 참조하세요.
원격 서버 모드 사용 🌐
메모리 뱅크 MCP는 이제 SSH를 통해 원격 서버에 메모리 뱅크를 저장할 수 있도록 지원합니다. 이를 통해 다음과 같은 작업을 수행할 수 있습니다.
- 메모리 뱅크 중앙화 : 모든 프로젝트 메모리를 한곳에 보관하세요
- 메모리 뱅크 공유 : 여러 사용자가 동일한 메모리 뱅크에 액세스할 수 있습니다.
- 영구 저장소 : 로컬 머신이 삭제되더라도 메모리 뱅크는 그대로 유지됩니다.
원격 서버 요구 사항
- 원격 서버에 대한 SSH 액세스
- SSH 키 인증 설정(암호 인증은 지원되지 않음)
- 지정된 디렉토리에 파일을 생성/수정할 수 있는 충분한 권한
SSH 키 설정
원격 서버에 대한 SSH 키 인증을 설정하려면:
- 새로운 SSH 키 쌍을 생성합니다 (아직 없는 경우):Copy
- SSH 에이전트를 시작하고 키를 추가합니다 .Copy
- 공개 키를 원격 서버에 복사하세요 .그런 다음 키를 원격 서버의Copy
~/.ssh/authorized_keys
파일에 붙여넣습니다. - 연결을 테스트하세요 :비밀번호 없이도 로그인할 수 있어야 합니다.Copy
더 자세한 SSH 키 설정 지침은 SSH 키 가이드를 참조하세요.
원격 서버 구성
원격 서버 모드를 사용하려면 다음 매개변수를 제공해야 합니다.
기본적으로 SSH 키는 ~/.ssh/your_ssh_key
에 있다고 가정합니다. --ssh-key
옵션을 사용하여 다른 키를 지정할 수 있습니다.
원격 서버 예제
커서에서 구성하기 🖱️
Cursor는 모델 컨텍스트 프로토콜(MCP)을 지원하는 AI 기반 코드 편집기입니다. Cursor에서 메모리 뱅크 MCP를 구성하려면 다음 단계를 따르세요.
- npx와 함께 Memory Bank MCP 사용하기 :패키지를 전역으로 설치할 필요는 없습니다. npx를 직접 사용할 수 있습니다.Copy
- 커서 설정 열기 :
- 설정(⚙️) > 확장 프로그램 > MCP로 이동하세요.
- "MCP 서버 추가"를 클릭하세요
- MCP 서버 구성 :
- 이름 : 메모리 뱅크 MCP
- 명령어 : npx
- 인수 :
@aakarsh-sasi/memory-bank-mcp --mode code
(또는 필요에 따라 다른 모드)
원격 서버의 경우:
- 인수 :
@aakarsh-sasi/memory-bank-mcp --mode code --remote --remote-user username --remote-host example.host.com --remote-path /home/username/memory-bank
- 저장 및 활성화 :
- "저장"을 클릭하세요
- MCP 서버를 켜서 활성화합니다.
- 연결 확인 :
- 커서에서 프로젝트 열기
- 이제 메모리 뱅크 MCP가 활성화되어 AI 상호 작용에서 사용할 수 있어야 합니다.
Cursor에 대한 자세한 지침과 고급 사용법은 cursor-integration.md를 참조하세요.
커서와 함께 사용하기 🤖
구성이 완료되면 AI 명령을 통해 커서에서 메모리 뱅크 MCP와 상호 작용할 수 있습니다.
- 메모리 뱅크 초기화 :
/mcp memory-bank-mcp initialize_memory_bank path=./memory-bank
- 진행 상황 추적 :
/mcp memory-bank-mcp track_progress action="Feature Implementation" description="Implemented feature X"
- 로그 결정 :
/mcp memory-bank-mcp log_decision title="API Design" context="..." decision="..."
- 스위치 모드 :
/mcp memory-bank-mcp switch_mode mode=code
MCP 모드 및 사용법 🔄
Memory Bank MCP는 특정 작업에 대한 AI 상호 작용을 최적화하기 위해 다양한 운영 모드를 지원합니다.
사용 가능한 모드
- 코드 모드 👨💻
- 초점: 코드 구현 및 개발
- 사용법:
npx @aakarsh-sasi/memory-bank-mcp --mode code
- 가장 적합한 용도: 코드 작성, 리팩토링 및 최적화
- 건축가 모드 🏗️
- 초점: 시스템 설계 및 아키텍처
- 사용법:
npx @aakarsh-sasi/memory-bank-mcp --mode architect
- 가장 적합한 용도: 프로젝트 구조 계획, 구성 요소 설계 및 아키텍처 결정
- 질문 모드 ❓
- 초점: 질문에 답하고 정보 제공
- 사용법:
npx @aakarsh-sasi/memory-bank-mcp --mode ask
- 가장 적합한 용도: 설명, 명확화 및 정보 얻기
- 디버그 모드 🐛
- 초점: 문제 해결 및 문제 해결
- 사용법:
npx @aakarsh-sasi/memory-bank-mcp --mode debug
- 가장 적합한 용도: 버그 찾기 및 수정, 문제 분석
- 테스트 모드 ✅
- 초점: 테스트 및 품질 보증
- 사용법:
npx @aakarsh-sasi/memory-bank-mcp --mode test
- 가장 적합한 용도: 테스트 작성, 테스트 주도 개발
전환 모드
다음과 같은 여러 가지 방법으로 모드를 전환할 수 있습니다.
- 서버를 시작할 때 :Copy
- 세션 중 :Copy
- 커서에서 :Copy
- .clinerules 파일 사용 : 프로젝트에
.clinerules-[mode]
파일을 생성하면 파일이 감지되면 해당 모드로 자동 전환됩니다.
메모리 뱅크 MCP 작동 원리 🧠
메모리 뱅크 MCP는 AI 어시스턴트가 외부 도구 및 리소스와 상호 작용할 수 있도록 하는 모델 컨텍스트 프로토콜(MCP)을 기반으로 합니다. 작동 방식은 다음과 같습니다.
핵심 구성 요소 🧩
- 메모리 뱅크 : 마크다운 파일로 저장된 정보의 구조화된 저장소:
product-context.md
: 전반적인 프로젝트 정보 및 목표active-context.md
: 현재 상태, 진행 중인 작업 및 다음 단계progress.md
: 프로젝트 업데이트 및 이정표 기록decision-log.md
: 맥락과 근거를 포함한 중요한 결정 기록system-patterns.md
: 프로젝트에서 사용된 아키텍처 및 코드 패턴
- MCP 서버 : AI 어시스턴트가 메모리 뱅크와 상호 작용할 수 있는 도구와 리소스를 제공합니다.
- 독립 실행형 프로세스로 실행됩니다
- MCP 프로토콜을 통해 AI 어시스턴트와 통신합니다.
- 메모리 뱅크 관리를 위한 도구 세트를 제공합니다.
- 모드 시스템 : 다양한 작동 모드를 지원합니다.
code
: 코드 구현에 집중ask
: 질문에 답하는 데 집중하다architect
: 시스템 설계에 집중debug
: 디버깅 문제에 집중test
: 테스트에 집중하다
데이터 흐름 🔄
- 초기화 : AI 어시스턴트가 MCP 서버에 연결하고 메모리 뱅크를 초기화합니다.
- 도구 호출 : AI 어시스턴트는 MCP 서버에서 제공하는 도구를 호출하여 메모리 뱅크 파일을 읽거나 씁니다.
- 컨텍스트 유지 : 메모리 뱅크는 세션 전반에 걸쳐 컨텍스트를 유지하여 AI가 이전 결정과 진행 상황을 기억할 수 있도록 합니다.
메모리 뱅크 구조 📂
메모리 뱅크는 표준화된 구조를 사용하여 정보를 구성합니다.
- 제품 컨텍스트 : 프로젝트 개요, 목표, 기술 및 아키텍처
- 활성 컨텍스트 : 현재 상태, 진행 중인 작업, 알려진 문제 및 다음 단계
- 진행 상황 : 프로젝트 업데이트 및 이정표의 연대순 기록
- 의사결정 로그 : 맥락, 대안 및 결과를 포함한 중요한 의사결정 기록
- 시스템 패턴 : 아키텍처 패턴, 코드 패턴, 문서 패턴
고급 기능 🚀
- UMB 명령 : 세션 중 변경 사항을 적용하지 않고 메모리 뱅크 파일을 임시로 업데이트
- 모드 감지 : 사용자 입력에 따라 모드를 자동으로 감지하고 전환합니다.
- 파일 마이그레이션 : 서로 다른 파일 명명 규칙 간 마이그레이션을 위한 도구
- 언어 표준화 : 모든 메모리 뱅크 파일은 일관성을 위해 영어로 생성됩니다.
버전 관리 📌
이 프로젝트는 의미적 버전 관리(Semantic Versioning)를 따르며, 커밋 메시지에는 기존 커밋(Conventional Commit)을 사용합니다. 변경 사항이 메인 브랜치에 병합되면 버전이 자동으로 상향 조정되고 커밋 메시지를 기반으로 변경 로그가 생성됩니다.
- 중대한 변경 사항(
BREAKING CHANGE
또는!:
가 포함된 커밋 메시지)이 있는 경우 주요 버전이 올라갑니다. - 새로운 기능이 추가되면 마이너 버전이 올라갑니다(
feat:
또는feat(scope):
가 포함된 커밋 메시지) - 다른 모든 변경 사항(버그 수정, 문서화 등)은 패치 버전 으로 올라갑니다.
변경 사항의 전체 내역을 보려면 CHANGELOG.md 파일을 참조하세요.
사용법 📝
명령줄 도구로 💻
도서관으로서 📚
기여하기 👥
행동 강령과 풀 리퀘스트 제출 프로세스에 대한 자세한 내용은 CONTRIBUTING.md를 참조하세요.
라이센스 📄
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
메모리 뱅크 상태 시스템 🚦
메모리 뱅크 MCP는 메모리 뱅크의 작동 상태를 즉시 파악할 수 있는 상태 접두사 시스템을 구현합니다.
상태 표시기
Memory Bank MCP를 사용하는 AI 도우미의 모든 응답은 다음 상태 표시기 중 하나로 시작됩니다.
[MEMORY BANK: ACTIVE]
: 메모리 뱅크가 사용 가능하며 상황에 맞는 응답을 제공하는 데 사용됩니다.[MEMORY BANK: INACTIVE]
: 메모리 뱅크를 사용할 수 없거나 제대로 구성되지 않았습니다.[MEMORY BANK: UPDATING]
: 메모리 뱅크가 현재 업데이트 중입니다(UMB 명령 실행 중)
이 시스템은 사용자가 AI 비서가 전체 상황을 인식하여 작동하는지, 아니면 제한된 정보만으로 작동하는지 항상 알 수 있도록 보장합니다.
이익
- 투명성 : 사용자는 AI가 전체 프로젝트 컨텍스트에 액세스할 수 있는지 항상 알 수 있습니다.
- 문제 해결 : 메모리 뱅크가 제대로 구성되지 않은 경우 즉시 명확하게 알 수 있습니다.
- 컨텍스트 인식 : 특정 응답에 역사적 맥락이 부족한 이유를 사용자가 이해하는 데 도움이 됩니다.
자세한 내용은 메모리 뱅크 상태 접두사 시스템을 참조하세요.
You must be authenticated.
Tools
중앙 지식 기반을 위한 SSH 지원 서버가 있는 메모리 뱅크
- Overview 📋
- Features ✨
- Directory Structure 📁
- Recent Improvements 🛠️
- Installation 🚀
- Usage with npx 💻
- Using Remote Server Mode 🌐
- Configuring in Cursor 🖱️
- MCP Modes and Their Usage 🔄
- How Memory Bank MCP Works 🧠
- Versioning 📌
- Usage 📝
- Contributing 👥
- License 📄
- Memory Bank Status System 🚦