# mcp-neo4j-cypher

MCP-сервер, через который агент читает и меняет граф в Neo4j: выполняет Cypher-запросы и выгружает схему базы.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 989
- Автор: neo4j-contrib
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/neo4j-contrib/mcp-neo4j/tree/HEAD/servers/mcp-neo4j-cypher
- Обновлён: 2026-09-09
- HTML: https://affpapa.org/nevibecode/mcp/mcp-neo4j-cypher

## Что делает

Сервер даёт агенту три инструмента. `read_neo4j_cypher` выполняет читающие запросы и отдаёт строки как JSON, `write_neo4j_cypher` — обновляющие, с ответом в виде счётчиков затронутых узлов и созданных связей. Третий, `get_neo4j_schema`, перечисляет типы узлов с атрибутами и связями между ними.

Для схемы нужен плагин APOC, включённый на инстансе: без него `get_neo4j_schema` не заработает. Сама база — запущенный Neo4j, Aura или self-managed. Чтение по умолчанию обрывается через 30 секунд, порог меняется флагом `--read-timeout` или переменной `NEO4J_READ_TIMEOUT`. Длинные ответы режет лимит токенов (`--token-limit`, `NEO4J_RESPONSE_TOKEN_LIMIT`), усечение идёт через `tiktoken`.

Если баз несколько, задайте пространство имён: имена инструментов получат префикс вроде `mydb-read_neo4j_cypher`. Запись отключается флагом `--read-only` или `NEO4J_READ_ONLY=true`, тогда агент видит только чтение. Схему на большой базе снимайте с выборкой — по умолчанию на каждый лейбл берётся 1000 узлов, `-1` означает полный проход.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `NEO4J_URI`, `NEO4J_USERNAME`, `NEO4J_PASSWORD`, `NEO4J_DATABASE`, `NEO4J_NAMESPACE`, `NEO4J_RESPONSE_TOKEN_LIMIT`, `NEO4J_READ_TIMEOUT`, `NEO4J_READ_ONLY`, `NEO4J_SCHEMA_SAMPLE_SIZE` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env NEO4J_URI=<NEO4J_URI> --env NEO4J_USERNAME=<NEO4J_USERNAME> --env NEO4J_PASSWORD=<NEO4J_PASSWORD> --env NEO4J_DATABASE=<NEO4J_DATABASE> --env NEO4J_NAMESPACE=<NEO4J_NAMESPACE> --transport stdio mcp-neo4j-cypher -- uvx mcp-neo4j-cypher
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-neo4j-cypher <команда>

### Codex

**Командой платформы**
```bash
codex mcp add mcp-neo4j-cypher --env NEO4J_URI=<NEO4J_URI> --env NEO4J_USERNAME=<NEO4J_USERNAME> --env NEO4J_PASSWORD=<NEO4J_PASSWORD> --env NEO4J_DATABASE=<NEO4J_DATABASE> --env NEO4J_NAMESPACE=<NEO4J_NAMESPACE> -- uvx mcp-neo4j-cypher
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-neo4j-cypher <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-neo4j-cypher": {
            "command": "uvx",
            "args": [
                "mcp-neo4j-cypher"
            ],
            "env": {
                "NEO4J_URI": "<NEO4J_URI>",
                "NEO4J_USERNAME": "<NEO4J_USERNAME>",
                "NEO4J_PASSWORD": "<NEO4J_PASSWORD>",
                "NEO4J_DATABASE": "<NEO4J_DATABASE>",
                "NEO4J_NAMESPACE": "<NEO4J_NAMESPACE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-neo4j-cypher <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-neo4j-cypher": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "mcp-neo4j-cypher"
            ],
            "env": {
                "NEO4J_URI": "<NEO4J_URI>",
                "NEO4J_USERNAME": "<NEO4J_USERNAME>",
                "NEO4J_PASSWORD": "<NEO4J_PASSWORD>",
                "NEO4J_DATABASE": "<NEO4J_DATABASE>",
                "NEO4J_NAMESPACE": "<NEO4J_NAMESPACE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-neo4j-cypher <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e NEO4J_URI=<NEO4J_URI> -e NEO4J_USERNAME=<NEO4J_USERNAME> -e NEO4J_PASSWORD=<NEO4J_PASSWORD> -e NEO4J_DATABASE=<NEO4J_DATABASE> -e NEO4J_NAMESPACE=<NEO4J_NAMESPACE> mcp-neo4j-cypher uvx mcp-neo4j-cypher
```
Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-neo4j-cypher <команда>

## Когда брать
- собрать выборку из графа запросом на Cypher
- обновить узлы и связи прямо из диалога с агентом
- получить схему базы перед генерацией запроса
- удержать большой ответ в лимите токенов модели
- подключить два инстанса Neo4j в одной сессии

## Примеры запросов агенту
- Выполни в Neo4j запрос: какие узлы `Customer` связаны с заказом 42?
- Покажи схему базы `mydb` — какие лейблы и связи там есть
- Добавь в граф узел `Project` с именем «NeVibe» и привяжи его к владельцу

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
