PG-Git (Semantic Memory MCP)
PG-Git (Semantic Memory MCP)
Постоянная система управления репозиториями на базе PostgreSQL и MCP-сервер семантической памяти. Вместо того чтобы хранить объекты Git разрозненно в файловой системе, PG-Git хранит весь направленный ациклический граф (DAG) непосредственно в PostgreSQL, дополняя его автоматически сгенерированными семантическими векторными эмбеддингами с временным затуханием для AI IDE.
🧠 Почему PG-Git?
В стандартной экосистеме AI-агентов для написания кода поиск по кодовой базе опирается на жесткий поиск через grep или дорогостоящий парсинг AST. PG-Git фундаментально меняет это, напрямую связывая Git с векторными базами данных:
Семантический поиск кода: Находите код на основе того, что он делает, а не только по его синтаксису.
Экспоненциальное временное затухание: PG-Git математически снижает вес старых векторов. Ваш агент будет отдавать приоритет коду, написанному вчера, перед очень похожим, но устаревшим кодом, написанным 6 месяцев назад.
Приоритет локальной работы: Никаких облачных API. Используется Ollama с
nomic-embed-textдля 100% приватной векторизации на устройстве.Соответствие ACID: Нативные транзакции обеспечивают полную безопасность для доступа с нескольких узлов и одновременной работы роя AI-агентов.
Related MCP server: memory-bank-mcp
⚡ Быстрый старт
У вас должен быть запущен Ollama с загруженной моделью nomic-embed-text:
ollama run nomic-embed-text1. Установка зависимостей и миграция
Вам потребуется запущенный экземпляр PostgreSQL с включенным расширением pgvector.
npm install
cp .env.example .env
# Edit .env with your PostgreSQL credentials
node db/migrate.js2. Импорт истории GitHub
Вы можете мгновенно импортировать любой локальный .git репозиторий. PG-Git нативно проанализирует историю Git, создаст семантические эмбеддинги для всех блобов и безопасно дедуплицирует их в PostgreSQL:
npm run import3. Добавление в конфигурацию вашего агента / IDE (например, mcp_config.json):
{
"mcpServers": {
"pg-git-mcp": {
"command": "node",
"args": ["/absolute/path/to/pg-git/server/mcp.js"],
"env": {
"OLLAMA_URL": "http://localhost:11434",
"EMBED_MODEL": "nomic-embed-text"
}
}
}
}4. Запуск веб-интерфейса (опционально) PG-Git включает в себя элегантный двухпанельный интерфейс IDE для просмотра ваших семантических репозиториев.
npm run dev🚀 Примеры использования в реальных задачах
Чтобы эффективно использовать PG-Git, просто общайтесь со своим агентом в IDE как обычно. Он будет использовать инструменты MCP (pg_git_semantic_search, pg_git_list_repos, pg_git_read_tree, pg_git_read_blob) для взаимодействия с базой данных.
Пример 1: Поиск конкретной логики
Вы: "Где мы обрабатываем временное затухание для MCP памяти?" Агент: [Вызывает
pg_git_semantic_search] "Я нашел логику вserver/index.jsвнутри репозиторияkrusch-memory-mcp. Она использует формулуexp(-DECAY_RATE * age_in_days)."
Пример 2: Чтение дерева репозитория
Вы: "Какова структура папок проекта pg-git?" Агент: [Вызывает
pg_git_read_tree] "Вот структура корневого каталога..."
Как работает временное затухание?
При вызове pg_git_semantic_search PG-Git возвращает результаты с наивысшим косинусным сходством. Однако он применяет экспоненциальное временное затухание на основе метки времени last_seen_at для каждого блоба. Если у вас есть два очень похожих фрагмента кода, более новый из них получит значительно более высокий балл, что предотвратит галлюцинации агента на основе устаревших реализаций.
🤖 Рабочий процесс автономного агента (/close)
Вы можете интегрировать PG-Git в свой агентский рабочий процесс, чтобы ваша семантическая память всегда была актуальной.
Всякий раз, когда вы завершаете задачу, попросите агента запустить скрипт создания снимка (snapshot). Агент автономно выполнит следующее:
Хеширует текущую папку проекта в блобы и деревья Git.
Обратится к Ollama для векторизации любых новых или измененных файлов.
Зафиксирует состояние непосредственно в PostgreSQL.
Команда для запуска:
npm run snapshot🛠️ Конфигурация и переменные окружения
Переменная | Описание | По умолчанию |
| Адрес хоста PostgreSQL. |
|
| Порт PostgreSQL. |
|
| Имя базы данных. |
|
| Пользователь базы данных. |
|
| Пароль базы данных. |
|
| Эндпоинт для вашего локального экземпляра Ollama. |
|
| Модель Ollama для создания эмбеддингов текста. |
|
Лицензия
Лицензия MIT. Создано kruschdev.
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent AI memory with semantic search, conflict detection, and ticketing.
- memnodeOAuthdev.memnode
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
Shared cross-LLM long-term memory over MCP: semantic recall, sessions, and media (pgvector).
Persistent memory and cross-session learning for AI coding assistants (hosted remote MCP).
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides persistent semantic memory backed by PostgreSQL and pgvector for storing and searching thoughts via vector embeddings. It enables dimensional organization, conflict detection, and historical tracking of facts, decisions, and observations.12 npmAGPL 3.0
- AlicenseAqualityDmaintenanceMCP server for semantic code indexing using vector embeddings, enabling AI agents to maintain persistent memory of codebases through natural language queries and intelligent chunking.1912 npm4MIT
- AlicenseNot gradedqualityAmaintenanceA universal MCP server providing persistent, structured memory through a knowledge graph with graph storage, semantic vector search, and multi-hop traversal for AI agents and IDEs.1MIT
- AlicenseNot gradedqualityDmaintenanceA secure and scalable Git MCP server giving AI agents powerful version control for local and (soon) serverless environments.177 npmApache 2.0