Skip to main content
Glama

@mempalace/mcp-dev

Сервер MCP (Model Context Protocol), который предоставляет ИИ-ассистентам для написания кода обоснованный контекст вашей кодовой базы с привязкой к ветке. Он обеспечивает семантический поиск кода через MemPalace, отслеживание изменений в git, постоянный журнал изменений, инструменты жизненного цикла разработки TypeScript/Jest и встроенную методологию Project Tracks (Conductor) для структурированной работы над функциями.

Возможности

Функция

Описание

Семантический поиск кода

Запросы на естественном языке по индексированной кодовой базе через эмбеддинги MemPalace

Контекст ветки

Текущая ветка, SHA, последние коммиты — всегда в курсе

Журнал изменений

JSONL-лог только для добавления всех изменений, выполненных с помощью ИИ, с полным отслеживанием происхождения

Жизненный цикл разработки

Запуск проверки типов tsc и тестов Jest из клиента MCP

Git diff

Полный вывод diff или diff для конкретного файла

Project Tracks

Создание и управление треками функций на основе markdown (план/спецификация/индекс/метаданные)


Предварительные требования

  • 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

Создание каркаса новой директории трека со всеми четырьмя файлами


Методология Project Tracks (Conductor)

Project Tracks — это легкая файловая система управления функциями. Каждый трек — это директория, содержащая до четырех файлов:

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)

Разместите mempalace.yaml в корне MCP_REPO_DIR, чтобы управлять индексацией файлов. Общий пример приведен в mempalace.yaml.example.

Ключевые разделы:

  • wing — должен соответствовать MCP_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