Skip to main content
Glama
Luiguard

mcp-sqlite-graph-memory

by Luiguard

mcp-sqlite-graph-memory

License: MIT Python: 3.10+ MCP: 2024-11-05

Универсальный сервер Model Context Protocol (MCP), предоставляющий динамическую память графа знаний о коде на основе SQLite для ИИ-ассистентов по программированию и автономных агентов.

Автоматически обнаруживает активные рабочие области, разбирает многоязычные AST и структурные зависимости в изолированный локальный граф знаний на SQLite и предоставляет точные MCP-инструменты для поиска символов, вычисления кратчайших путей вызовов/импортов и навигации по топологии кода.


🌟 Ключевые возможности

  • Ноль зависимостей времени выполнения: Полностью написан на стандартной библиотеке Python (ast, sqlite3, json, re, hashlib, threading).

  • Динамическая изоляция нескольких рабочих областей: Генерирует детерминированные SHA-256 хеши для корня каждой рабочей области; хранит изолированные базы данных SQLite в ~/.mcp-graph-memory/storage/graph_<hash>.db.

  • Инкрементальное кэширование stat-данных: Проверяет mtime и size файлов, чтобы пропускать неизменённые файлы за субмиллисекундное время при повторном индексировании.

  • Многоязычный AST и структурный парсер:

    • Python: Классы, методы, функции, асинхронные функции, декораторы, импорты (from x import y, import z), иерархии наследования, места вызовов.

    • TypeScript / JavaScript: Классы, интерфейсы, типы, функции, стрелочные функции, импорты/экспорты ES6, CommonJS require().

    • Go: Пакеты, импорты, структуры, интерфейсы, функции, методы.

    • Rust: Модули, структуры, перечисления, трейты, блоки impl, сигнатуры fn.

    • C / C++ / Java / PHP / Ruby / Kotlin / Swift / Shell: Структуры, классы, определения.

  • Защита от зависаний и голодания CPU:

    • Неблокирующая асинхронная инициализация демона.

    • Транспорт stdio без активного ожидания (for raw_line in sys.stdin:).

    • Строгий список игнорирования для node_modules/, .git/, .venv/, бинарных весов и кэш-блобов.


🛠️ Спецификация MCP-инструментов

Инструмент

Параметры

Описание

graph_reindex

force (bool)

Сканирует и обновляет память графа рабочей области инкрементально или принудительно.

graph_query_symbol

query (str), type (str), exact (bool)

Находит символы с точными путями к файлам, диапазонами строк, сигнатурами и связями.

graph_find_paths

source (str), target (str), max_depth (int)

Вычисляет кратчайшие пути зависимостей / импортов / вызовов между двумя файлами или символами.

graph_get_neighbors

node_id_or_path (str), direction (in/out/both), relation (all/imports/calls/contains/inherits)

Проверяет прямых вызывающих, вызываемых, импорты и рёбра вложенности.

graph_structure_overview

depth (int), focus_path (str)

Возвращает архитектурные метрики, модули-хабы и дерево каталогов.

graph_find_files

pattern (str), extension (str), contains_symbol (str)

Находит файлы рабочей области по шаблону пути, расширению или содержащимся символам.


🚀 Установка

git clone https://github.com/Luiguard/mcp-sqlite-graph-memory.git ~/.mcp-graph-memory
chmod +x ~/.mcp-graph-memory/server.py

🔌 Руководства по интеграции

1. Интеграция с Google Antigravity

Вариант A: Глобальная конфигурация (рекомендуется)

Добавьте graph-memory в ваш глобальный файл конфигурации MCP Antigravity по пути ~/.gemini/config/mcp_config.json:

{
  "mcpServers": {
    "graph-memory": {
      "command": "python3",
      "args": [
        "/home/YOUR_USER/.mcp-graph-memory/server.py"
      ]
    }
  }
}

(Замените /home/YOUR_USER на фактический путь к вашему каталогу $HOME или используйте абсолютный путь).

Вариант B: Конфигурация на уровне рабочей области

Для активации в рамках отдельного проекта поместите mcp_config.json в корень вашей рабочей области по пути .agents/mcp_config.json:

{
  "mcpServers": {
    "graph-memory": {
      "command": "python3",
      "args": [
        "${workspaceFolder}/.mcp-graph-memory/server.py"
      ]
    }
  }
}

2. Интеграция с Claude Desktop

Найдите вашу конфигурацию Claude:

  • Linux: ~/.config/Claude/claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Добавьте определение сервера:

{
  "mcpServers": {
    "graph-memory": {
      "command": "python3",
      "args": [
        "/path/to/mcp-sqlite-graph-memory/server.py"
      ]
    }
  }
}

3. Интеграция с Cursor / VSCode / Windsurf

В .cursor/mcp.json или .vscode/mcp.json:

{
  "mcpServers": {
    "graph-memory": {
      "command": "python3",
      "args": [
        "/path/to/mcp-sqlite-graph-memory/server.py"
      ]
    }
  }
}

🔧 Переменные окружения

Переменная

По умолчанию

Описание

MCP_GRAPH_STORAGE_DIR

~/.mcp-graph-memory/storage

Постоянный каталог для баз данных SQLite (graph_<hash>.db).

MCP_WORKSPACE_ROOT

os.getcwd()

Запасной путь рабочей области, если клиент не передаёт rootUri в initialize.


🧪 Проверка и тестирование

Запустите автоматизированный набор интеграционных тестов:

python3 test_server.py

📄 Лицензия

Лицензия MIT — Copyright (c) 2026 Benjamin Leimer. Подробности см. в LICENSE.

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

  • Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.

  • Package intelligence MCP for AI agents — 22 tools, 19 ecosystems, AGPL SDK, free.

  • Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.

View all MCP Connectors

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/Luiguard/mcp-sqlite-graph-memory'

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