Install
$ agentstack add mcp-kostya-pakhomov-graphmind ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README — it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
GraphMind v2
Постоянная общая память для ИИ-агентов, подключается по MCP (Model Context Protocol). Один Rust-бинарь: граф знаний с причинными связями, семантический поиск, персист между сессиями. Работает с любым MCP-совместимым агентом — Kodik, Cursor, Claude Code, Codex, OpenCode.
Живое демо: gm.bcode.guru · интерактивная витрина памяти — gm.bcode.guru/speech. Плагин для Kodik (MCP + правило + навык + суб-агент + хуки) — в [kodik-plugin/](kodik-plugin/).
Что даёт
- Память между сессиями — агент стартует с накопленным контекстом проекта.
- Общий граф на несколько агентов и людей — один накопил знание, остальные им пользуются.
- 50 MCP-инструментов: слои памяти S0→L2→L1→L0 с консолидацией, воркспейсы, семантический поиск (эмбеддинги + косинусная близость), причинный слой на LLM (
find_contradictions,predict_risks,propose_causal_link), фильтр доверия (verify_input), любопытство, ось планирования (plan_*). - Персист между перезапусками (RocksDB) + семантический recall из накопленного.
Полный каталог инструментов — [docs/TOOLS/README.md](docs/TOOLS/README.md). Архитектура — [docs/TECH-SPEC.md](docs/TECH-SPEC.md). Часть документов в [docs/](docs/) описывает возможности «на будущее» (маркетплейс, самоподдерживающиеся доки, аналогии) — это концепции, в коде их пока нет.
Требования сборки
- Rust — свежий stable (rustup); сборка проверена на 1.96. Пин 1.85 уже не собирается — часть зависимостей требует новее.
- protoc (protobuf) — генерация Rust из
.proto - cmake, C++-компилятор (g++/clang), libclang — для нативных зависимостей (RocksDB bindgen)
# macOS
brew install rustup protobuf cmake # libclang идёт с Xcode CommandLineTools
# Debian/Ubuntu
sudo apt-get install -y protobuf-compiler g++ cmake clang libclang-dev
Быстрый старт
1. Сборка
cargo build --release --features mcp-server,rocksdb
# бинарь: target/release/graphmind-v2
rocksdb даёт персист; без фичи бэкенд файловый. mcp-server включён по умолчанию.
2. Конфиг
Бинарь читает .env рядом с собой (dotenvy из каталога бинаря, не из cwd) — положите .env в target/release/. За основу возьмите config.example.env — в нём рабочие примеры для RouterAI, локальной Ollama/LM Studio и полностью офлайн-режима (cp config.example.env .env и впишите свои endpoint'ы + ключи).
Зависимость от моделей. Семантический поиск и причинный слой требуют внешних endpoint'ов (OpenAI-совместимый API):
- LLM — любой
/v1/chat/completions(RouterAI, локальная Ollama/LM Studio, vLLM). - Эмбеддинги — отдельный
/v1/embeddings: локальная Ollamabge-m3(1024d, многоязычная) или RouterAImultilingual-e5-large(для e5 нужны префиксыquery:/passage:).GRAPHMIND_EMBEDDING_DIMдолжен совпадать с моделью (bge-m3 → 1024).
Без LLM/эмбеддингов сервер поднимется, но поиск деградирует до ключевых слов, а причинный слой — до эвристики.
3. Запуск (HTTP-сервер MCP)
GRAPHMIND_MCP_HTTP=1 ./target/release/graphmind-v2
# слушает 0.0.0.0:50052 (переопределить: GRAPHMIND_MCP_HTTP_ADDR)
curl -s http://127.0.0.1:50052/health
Транспорты одного сервера: POST /mcp (Streamable HTTP — Cursor/Codex/OpenCode), GET /sse + /message (Claude Code), а также stdio (без GRAPHMIND_MCP_HTTP). Модель работы — один HTTP-сервер владеет данными, много клиентов (RocksDB держит эксклюзивный lock на data_dir, поэтому два серверных процесса на одну папку поднять нельзя).
Turnkey в контейнере — [docker-compose.yml](docker-compose.yml): docker compose up -d (сервер на :50052, том для данных, env из .env).
Подключить агента
Полный гайд на все 5 агентов (регистрация, прокси для stdio-only клиентов вроде Kodik, launchd/Docker) — [SHARED-MEMORY-MVP.md](SHARED-MEMORY-MVP.md). Кратко:
| Агент | Транспорт | Как | |---|---|---| | Claude Code | SSE | claude mcp add --transport sse graphmind http://127.0.0.1:50052/sse | | Cursor | Streamable HTTP | .cursor/mcp.json → http://127.0.0.1:50052/mcp | | Codex | Streamable HTTP | ~/.codex/config.toml → /mcp | | OpenCode | Streamable HTTP | opencode.json → type: remote, /mcp | | Kodik | stdio → прокси | gm_stdio_proxy.py (мост к общему HTTP-серверу) |
Готовые правила/хуки автоматизации памяти для Cursor — [templates/](templates/). Собранный плагин для Kodik (MCP + правило + навык + суб-агент-куратор + хуки) — [kodik-plugin/](kodik-plugin/): установка через Ctrl+Shift+X или из этого репозитория.
Проверить память
python3 gm.py list # последние карточки памяти
python3 gm.py find "запрос" # семантический поиск
python3 gm.py add "текст" # записать карточку
Структура
.
├── src/ # Rust: mcp_server/ (handler, http_server, protocol), actors/, persistence/, queue/, grpc/ (легаси)
├── proto/memory.proto # protobuf-схема
├── tests/ # интеграционные тесты
├── docs/ # документация (TOOLS, TECH-SPEC, MECHANISMS, MEMORY, STEPS)
├── templates/ # правила/хуки автоматизации памяти (Cursor)
├── kodik-plugin/ # готовый плагин для Kodik (MCP + правило + навык + суб-агент + хуки)
├── Dockerfile, docker-compose.yml
├── config.example.env
├── gm.py, gm_stdio_proxy.py # клиент просмотра памяти; stdio-прокси к общему серверу
├── LICENSE # MIT
└── SHARED-MEMORY-MVP.md # гайд подключения агентов
Разработка
cargo test
cargo clippy -- -D warnings && cargo fmt -- --check
mcp_client.py — внутренний smoke-харнесс (поднимает свой процесс, конфликтует с общим сервером; не для пользователей).
> gRPC-сервер (:50051, GRAPHMIND_GRPC_ADDR) — легаси/вторичный путь; актуальный контур — MCP по HTTP/stdio выше.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: kostya-pakhomov
- Source: kostya-pakhomov/graphmind
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.