PG-Git (Semantic Memory MCP)
PG-Git (セマンティックメモリ MCP)
PostgreSQLをバックエンドに持つ永続的なリポジトリ管理システム兼セマンティックメモリMCPサーバーです。Gitオブジェクトをファイルシステム上に緩やかに保存するのではなく、PG-GitはGitの有向非巡回グラフ(DAG)全体をPostgreSQLにネイティブに格納します。さらに、AI IDE向けに自動生成された時間減衰を伴うセマンティックベクトル埋め込みも完備しています。
🧠 なぜ PG-Git なのか?
標準的なAIコーディングエージェントのエコシステムにおいて、コードベースの検索は厳格なgrep検索やコストのかかるAST解析に依存しています。PG-Gitは、Gitとベクトルデータベースを直接橋渡しすることで、これを根本から変革します:
セマンティックコード検索: 単なる構文ではなく、コードが「何をするか」に基づいて検索します。
指数関数的な時間減衰: PG-Gitは古いベクトルを数学的に減衰させます。エージェントは、6ヶ月前に書かれた非常に似ているが使われていないコードよりも、昨日書いたコードを優先します。
ローカルファーストの純粋性: クラウドAPIは使用しません。
nomic-embed-textを使用したOllamaにより、100%プライベートなオンデバイスでのベクトル化を実現します。ACID準拠: ネイティブなトランザクションにより、マルチノードでのアクセスやAIスウォームエージェントの同時実行においても完全な安全性を保証します。
Related MCP server: memory-bank-mcp
⚡ クイックスタート
Ollama が実行されており、nomic-embed-text モデルがプルされている必要があります:
ollama run nomic-embed-text1. 依存関係のインストールとマイグレーション
pgvector が有効なPostgreSQLインスタンスが実行されている必要があります。
npm install
cp .env.example .env
# Edit .env with your PostgreSQL credentials
node db/migrate.js2. GitHub履歴のインポート
ローカルの .git リポジトリを即座にインポートできます。PG-GitはGit履歴をネイティブに解析し、すべてのBLOBに対してセマンティック埋め込みを生成し、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. Web UIの起動 (オプション) PG-Gitには、セマンティックリポジトリをブラウズするための洗練された2ペインの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を呼び出し] 「krusch-memory-mcpリポジトリ内のserver/index.jsにロジックを見つけました。exp(-DECAY_RATE * age_in_days)という式を使用しています。」
例2: リポジトリツリーを読む
あなた: 「pg-gitプロジェクトのフォルダ構造はどうなっていますか?」 エージェント: [
pg_git_read_treeを呼び出し] 「ルートディレクトリの構造は以下の通りです...」
時間減衰はどのように機能するか?
pg_git_semantic_search を呼び出す際、PG-Gitはコサイン類似度が最も高い一致を返します。ただし、BLOBの last_seen_at タイムスタンプに基づいて「指数関数的な時間減衰」を適用します。非常によく似たコードが2つある場合、新しい 方が大幅に高いスコアを持つため、古い実装に基づいてエージェントがハルシネーションを起こすことを防ぎます。
🤖 自律型エージェントのワークフロー (/close)
PG-Gitをエージェントのワークフローに統合することで、セマンティックメモリを常に最新の状態に保つことができます。
タスクから離れるときはいつでも、エージェントにスナップショットスクリプトを実行するように指示してください。エージェントは自律的に以下の処理を行います:
現在のプロジェクトフォルダをGitのBLOBとツリーにハッシュ化する。
Ollamaにpingを送り、新規または変更されたファイルを埋め込む。
状態を直接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