Skip to main content
Glama

@mempalace/mcp-dev

AI 코딩 어시스턴트에게 코드베이스에 대한 브랜치 범위의 기반 컨텍스트를 제공하는 MCP(Model Context Protocol) 서버입니다. MemPalace를 통한 의미론적 코드 검색, git 변경 추적, 영구적인 변경 원장, TypeScript/Jest 개발 수명 주기 도구, 그리고 구조화된 기능 작업을 위한 내장 Project Tracks(Conductor) 방법론을 제공합니다.

기능

기능

설명

의미론적 코드 검색

MemPalace 임베딩을 통해 인덱싱된 코드베이스에 대한 자연어 쿼리

브랜치 컨텍스트

현재 브랜치, SHA, 최근 커밋 — 항상 최신 상태 유지

변경 원장

모든 AI 지원 변경 사항에 대한 전체 출처가 포함된 추가 전용 JSONL 로그

개발 수명 주기

MCP 클라이언트 내에서 tsc 타입 체크 및 Jest 테스트 실행

Git diff

전체 또는 파일 범위의 diff 출력

Project Tracks

마크다운 기반 기능 트랙(계획/사양/인덱스/메타데이터) 생성 및 관리


사전 요구 사항

  • Node.js ≥ 18

  • Python ≥ 3.9 (설치된 MemPalace 포함)

  • 연결할 git 저장소

MemPalace 설치

pip install mempalace
# or from the fork with exclude-patterns support:
pip install git+https://github.com/2loch-ness6/mempalace@feat/exclude-patterns-config

빠른 시작

1. MCP 서버 설치

npm install -g @mempalace/mcp-dev

또는 npx를 통해 설치 없이 사용:

npx @mempalace/mcp-dev

2. 환경 변수 구성

export MCP_REPO_DIR=/path/to/your/repo        # defaults to process.cwd()
export MCP_PALACE_DIR=~/.mempalace/active      # MemPalace data directory
export MCP_PALACE_WING=code                    # wing name (namespace) for your repo
export MEMPALACE_PYTHON=python3                # python binary with mempalace installed

3. 코드베이스 인덱싱

mempalace --palace ~/.mempalace/active mine /path/to/your/repo --wing code --mode projects

4. MCP 클라이언트 구성에 추가

Claude Desktop의 경우 (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "mempalace-mcp-dev": {
      "command": "npx",
      "args": ["@mempalace/mcp-dev"],
      "env": {
        "MCP_REPO_DIR": "/path/to/your/repo",
        "MCP_PALACE_DIR": "/home/you/.mempalace/active",
        "MCP_PALACE_WING": "code",
        "MEMPALACE_PYTHON": "python3"
      }
    }
  }
}

환경 변수

변수

기본값

설명

MCP_REPO_DIR

process.cwd()

git 저장소 루트의 절대 경로

MCP_PALACE_DIR

~/.mempalace/active

MemPalace 데이터 디렉토리

MCP_PALACE_WING

code

팰리스 내 윙(네임스페이스) 이름

MCP_LEDGER_PATH

<repo>/.mcp-dev/ledger.jsonl

변경 원장 파일 경로

MCP_TRACKS_DIR

<repo>/conductor/tracks

프로젝트 트랙 폴더를 포함하는 디렉토리

MEMPALACE_PYTHON

python3

Python 바이너리 (mempalace가 설치되어 있어야 함)


MCP 도구 참조

코드 검색

도구

설명

search_code

인덱싱된 코드베이스에 대한 의미론적 검색. query(문자열)와 선택적 scope(룸 이름), limit(정수, 기본값 10)을 허용

mine_changed_files

마지막 git 커밋 이후 변경된 파일 재인덱싱. 검색을 최신 상태로 유지하려면 편집 후 호출

브랜치 및 Git

도구

설명

get_branch_context

현재 브랜치, SHA, 짧은 SHA 및 최근 5개 커밋 메시지 반환

get_changed_files

HEAD~1(또는 지정된 기본 참조) 대비 변경된 파일(추가/수정/삭제 상태 포함)

get_git_diff

전체 diff 출력. 범위 지정을 위한 선택적 base 참조 및 filePath

변경 원장

도구

설명

record_change

원장에 항목 추가 (영향받은 파일, 설명, 이유, 태그, 선택적 트랙 링크)

read_ledger

최근 원장 항목 읽기. 선택적 limit(기본값 20) 및 branch 필터

개발 수명 주기

도구

설명

run_typecheck

서비스 디렉토리에서 tsc --noEmit 실행. 파일/행/열/코드가 포함된 구조화된 오류 반환

run_tests

서비스 디렉토리에서 Jest 실행. 통과/실패 횟수 및 구조화된 실패 세부 정보 반환

Project Tracks (Conductor)

도구

설명

list_tracks

모든 라이브 트랙 나열 (plan.md를 포함하는 디렉토리)

get_track_plan

트랙의 plan.md 읽기

update_track_plan

트랙의 plan.md 덮어쓰기

get_track_spec

트랙의 spec.md 읽기

update_track_spec

트랙의 spec.md 덮어쓰기

get_track_index

트랙의 index.md 읽기

update_track_index

트랙의 index.md 덮어쓰기

create_track

4개의 파일이 모두 포함된 새 트랙 디렉토리 스캐폴딩


Project Tracks 방법론 (Conductor)

Project Tracks는 가벼운 파일 기반 기능 관리 시스템입니다. 각 트랙은 최대 4개의 파일을 포함하는 디렉토리입니다:

conductor/tracks/
└── my-feature-20260501/
    ├── plan.md       ← living task list; the status source of truth
    ├── spec.md       ← technical spec, design decisions, acceptance criteria
    ├── index.md      ← short summary and linked resources
    └── metadata.json ← machine-readable metadata (id, owner, status, dates)

규칙:

  • 디렉토리는 plan.md를 포함하는 경우에만 라이브 트랙입니다.

  • plan.md는 항상 디스크에서 실시간으로 읽기/쓰기됩니다 (MemPalace를 통하지 않음 — 데이터 지연 없음).

  • 트랙 슬러그는 [a-zA-Z0-9][a-zA-Z0-9_-]*와 일치해야 합니다 (최대 100자).

새 프로젝트에서 트랙 부트스트래핑:

# Create the tracks directory
mkdir -p conductor/tracks

# Use the MCP tool to scaffold a track
# (or copy from templates/track/ in this package)

템플릿 파일은 수동 스캐폴딩을 위해 templates/track/에 포함되어 있습니다.


MemPalace 구성 (mempalace.yaml)

파일 인덱싱 방식을 제어하려면 MCP_REPO_DIR 루트에 mempalace.yaml을 배치하세요. 일반적인 예제는 mempalace.yaml.example에서 제공됩니다.

주요 섹션:

  • wingMCP_PALACE_WING과 일치해야 함

  • exclude_patterns — 마이닝 중 건너뛸 gitignore 구문 패턴

  • rooms — 검색 범위를 지정하기 위한 의미론적 라우팅 규칙 (키워드 → 룸 이름)


개발

git clone https://github.com/your-org/mempalace-mcp-dev
cd mempalace-mcp-dev
npm install
npm run build
npm test

기여 가이드라인은 CONTRIBUTING.md를 참조하세요.


라이선스

MIT — LICENSE 참조.

Install Server
A
license - permissive license
A
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/2loch-ness6/mempalace-mcp-dev'

If you have feedback or need assistance with the MCP directory API, please join our Discord server