Головна / Статті

Сервер MCP Neo4j підключений до ChatGPT

Створіть сервер MCP Neo4j, під’єднайте до нього інструменти Cypher, зареєструйте його в ChatGPT та перевірте, чи запити лише для читання з чату дійсно безпечно надходять до графа.

Видавець: REACTAPP.TOP10 хв читання2403 слів

Джерела: How to Build and Connect a Neo4j MCP Server to ChatGPT

Цей посібник описує процес створення системи, яка починається з сировини та закінчується функціональним рішенням для завдання: «Як створити та під’єднати сервер MCP Neo4j до ChatGPT». Основна увага приділяється конкретним крокам виконання, чітким перевіркам та коду, який можна без проблем додати до репозиторію, не здогадуючись про його призначення. Для загального огляду необхідно визначити вхідні дані, виконавця кроку та критерії завершення перед зміною коду. Виконавці мають мати можливість перезапустити крок з відомої точки контролю, не намагаючись здогадатися про прихований стан системи. Краще використовувати невеликі, тестовані одиниці коду замість об’ємних скриптів. Якщо крок не виконується, причина помилки має вказувати на конкретну проблему, а не на складну структуру обробки даних.

Вступ

На етапі введення необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Розглядайте цю стадію як контракт між вхідними даними та перевіреними результатами. Призначте назви елементів, визначте критерії успіху та не допускайте мовчазного часткового завершення. Використовуйте обмеження та індекси перед масовим введенням даних. Унікальність бізнес-ключів дозволяє перетворювати подальшу об’єднання даних на прогнозовані операції додавання чи заміни, а не на ситуації з дублікатами.

Репозиторій Neo4j Labs проти офіційного сервера MCP Neo4j

Для репозиторію Neo4j Labs порівняно з офіційним сервером MCP Neo4j необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Записуйте час виконання та витрати на токени чи запити поруч із функціональними результатами. Візуалізація витрат заздалегідь запобігає несподіваним рахункам під час переходу від демо-середовищ до спільних. Використовуйте обмеження та індекси перед масовим введенням даних. Унікальність за бізнес-клучами перетворює подальшу об’єднання даних на прогнозовані операції оновлення замість ситуацій з дублікатами.

Архітектура

У сфері архітектури необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Конфігурацію слід тримати окремо від коду додатку. Файли середовища, сховища конфіденційних даних та флаги функцій мають знаходитися в одному місці, яке оператори можуть перевіряти, не читаючи весь алгоритм. Перед масовим завантаженням використовуйте обмеження та індекси. Унікальність бізнес-ключів дозволяє перетворювати подальшу об’єднання даних на прогнозовані операції додавання/заміни замість ситуацій з дублікатами. У сфері архітектури необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Віддавайте перевагу невеликим, тестованим одиницям перед величезними скриптами. Коли крок зазнає невдачі, причина має вказувати на конкретну відповідальність, а не на заплутану структуру обробки даних.

Передумови

Для визначення передумов необхідно спочатку описати вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Розглядайте цю стадію як контракт між вхідними даними та перевіреними результатами. Призначте назви для кожних елементів, визначте критерії успіху та не допускайте мовчазного часткового завершення роботи. Перевірте зразок даних після першої партії. За допомогою інструментів типу Cypher можна швидше виявити зміни у мітках та відсутність властивостей, ніж за допомогою тестів обміну повідомленнями від початку до кінця.

Крок 1: Перевірка архітектури Ubuntu

Для кроку 1: Перевірте архітектуру Ubuntu, визначте вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не здогадуючись про прихований стан. Запишіть час виконання та витрати на токени або запити поруч із функціональними результатами. Відображення витрат на ранньому етапі запобігає несподіваним рахункам під час переходу з демо-середовища у спільні середовища. Перевірте зразок навколишнього середовища після першої партії даних. Засоби типу Cypher виявляють зміни міток та відсутність властивостей дешевше, ніж тестування через повний цикл чату.

Крок 2: Встановіть офіційний сервер MCP Neo4j

Для кроку 2: встановіть офіційний сервер MCP Neo4j, визначте вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не здогадуючись про прихований стан. Зберігайте конфігурацію поза кодом додатку. Файли середовища, сховища секретів та флаги функцій мають знаходитися в одному місці, яке оператори можуть перевірити, не читаючи весь граф. Перевірте зразок сусідства після першої партії даних. За допомогою запитів Cypher можна виявити зміни міток та відсутність властивостей дешевше, ніж за допомогою тестів від початку до кінця. Для кроку 2: встановіть офіційний сервер MCP Neo4j, визначте вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не здогадуючись про прихований стан. Віддавайте перевагу невеликим, тестованим одиницям перед об’ємними скриптами. Коли крок зазнає невдачі, причина має вказувати на конкретну частину для корекції.

відповідальність, а не заплутана система обробки.

tar -xzf neo4j-mcp_Linux_x86_64.tar.gz
chmod +x neo4j-mcp
sudo mv neo4j-mcp /usr/local/bin/neo4j-mcp
neo4j-mcp --help
python3 -m venv neo4j-mcp-venv
source neo4j-mcp-venv/bin/activate
pip install neo4j-mcp-server

Крок 3: Зрозуміти доступні інструменти MCP

Для кроку 3: Зрозуміти доступні інструменти MCP необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Розглядайте цю стадію як контракт між вхідними даними та перевіреними результатами. Призначте назви елементам, визначте критерії успіху та не допускайте мовчазного часткового завершення. Створюйте моделі вузлів та зв’язків для запитань, які ви будете ставити, а не для кожного іменника в документі. Розріджені, типовані зв’язки кращі за щільні загадкові графи.

Крок 4: Створити обмеженого користувача Neo4j

Для кроку 4: Створіть обмеженого користувача Neo4j. Перед зміною коду визначте параметри вхідних даних, власника кроку та критерії завершення. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись визначити прихований стан. Записуйте час виконання та витрати на токени або запити поруч із функціональними результатами. Відображення витрат заздалегідь запобігає несподіваним рахункам під час переходу з демо-середовища у спільні. Створюйте вузли та зв’язки для запитань, які ви будете ставити, а не для кожного іменника в документі. Розріджені, типовані краї кращі за щільні, загадкові графи.

cypher-shell \
  -a bolt://127.0.0.1:7687 \
  -u mcp_reader \
  -p 'YOUR_PASSWORD' \
  'MATCH (n) RETURN count(n) AS node_count;'

Крок 5: Налаштувати Neo4j MCP у режимі STDIO

Для кроку 5: налаштовуйте Neo4j MCP у режимі STDIO, визначте вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не здогадуючись про прихований стан. Зберігайте конфігурацію поза кодом додатку. Файли середовища, сховища секретів та флаги функцій мають знаходитися в одному місці, яке оператори можуть перевірити, не читаючи весь граф. Створюйте вузли та зв’язки моделі для запитань, які ви будете ставити, а не для кожного іменника в документі. Розріджені, типовані краї кращі за щільні, загадкові графи. Для кроку 5: налаштовуйте Neo4j MCP у режимі STDIO, визначте вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не здогадуючись про прихований стан. Віддавайте перевагу малим, тестованим одиницям перед об’ємними скриптами. Коли крок зазнає невдачі, причина має вказувати на конкретного відповідального.

спроможність, а не заплутана система каналів передачі даних.

export NEO4J_URI="bolt://127.0.0.1:7687"
export NEO4J_USERNAME="mcp_reader"
export NEO4J_PASSWORD="YOUR_NEO4J_PASSWORD"
export NEO4J_DATABASE="neo4j"
export NEO4J_READ_ONLY="true"
export NEO4J_TRANSPORT_MODE="stdio"
export NEO4J_LOG_LEVEL="info"
export NEO4J_LOG_FORMAT="text"
neo4j-mcp

Крок 6: Зрозуміти альтернативу HTTP

Для кроку 6: Зрозуміти альтернативу HTTP необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не здогадуючись про прихований стан. Розглядайте цю стадію як контракт між вхідними даними та перевіреними результатами. Назвіть створювані елементи, визначте критерії успіху та не допускайте мовчазного часткового завершення. Використовуйте обмеження та індекси перед масовим введенням даних. Унікальність за бізнес-ключами перетворює подальшу об’єднання даних на прогнозовані операції додавання чи заміни, а не на ситуації дублікацій.

export NEO4J_URI="bolt://127.0.0.1:7687"
export NEO4J_DATABASE="neo4j"
export NEO4J_READ_ONLY="true"
export NEO4J_TRANSPORT_MODE="http"
export NEO4J_MCP_HTTP_HOST="127.0.0.1"
export NEO4J_MCP_HTTP_PORT="8000"

unset NEO4J_USERNAME
unset NEO4J_PASSWORD

neo4j-mcp
Authorization: Basic BASE64_ENCODED_USERNAME_AND_PASSWORD
echo -n "mcp_reader:YOUR_PASSWORD" | base64
Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN

Крок 7: Встановити OpenAI tunnel-client на Ubuntu

Для кроку 7: встановіть OpenAI tunnel-client на Ubuntu, визначте параметри вхідних даних, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не здогадуючись про прихований стан. Записуйте час виконання та витрати на токени або запити поруч із функціональними результатами. Відображення витрат заздалегідь запобігає несподіваним рахункам під час переходу з демо-середовища у спільні. Використовуйте обмеження та індекси перед масовим введенням даних. Унікальність за бізнес-ключами перетворює подальшу об’єднання даних на прогнозовані операції додавання/заміни замість ситуацій з дублікатами.

tunnel-client-<version>-linux-amd64.zip
tunnel-client-<version>-linux-arm64.zip
unzip tunnel-client-<version>-linux-amd64.zip
chmod +x tunnel-client
sudo mv tunnel-client /usr/local/bin/tunnel-client
tunnel-client --version
tunnel-client help quickstart

Крок 8: Створення захищеного тунелю MCP

Для кроку 8: Створення захищеного тунелю MCP – необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Зберігайте конфігурацію окремо від коду додатку. Файли середовища, сховища конфіденційних даних та флаги функцій мають знаходитися в одному місці, яке оператори можуть перевірити, не читаючи весь код. Використовуйте обмеження та індекси перед масовим введенням даних. Унікальність ключів бізнес-логіки дозволяє перетворювати подальшу об’єднання даних на прогнозовані операції додавання/заміни замість появи дублікатів. Для кроку 8: Створення захищеного тунелю MCP – необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Віддавайте перевагу невеликим, тестованим одиницям коду перед величезними скриптами. Коли крок зазнає невдачі, причина має вказувати на конкретну відповідальність.

а не складною системою каналів.

Name: Neo4jMCP
Description: Private tunnel for the Neo4j MCP server
tunnel_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Крок 9: Створення ключа API для робочого часу

Для кроку 9: Створення ключа API для робочого часу необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Розглядайте цю стадію як контракт між вхідними даними та перевіреними результатами. Призначте назви елементів, визначте критерії успіху та не допускайте мовчазного часткового завершення. Перевірьте зразок навколишнього середовища після першої партії даних. Засоби типу Cypher ефективніше виявляють зміни міток та відсутність властивостей, ніж тести типу «від початку до кінця».

export CONTROL_PLANE_API_KEY="sk-YOUR_RUNTIME_KEY"

Крок 10: Налаштування tunnel-client для запуску Neo4j MCP

Для кроку 10: щоб налаштувати tunnel-client для запуску Neo4j MCP, необхідно визначити параметри входу, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан системи. Записуйте час виконання та витрати на токени чи запити поруч із функціональними результатами. Відображення витрат заздалегідь запобігає несподіваним рахункам під час переходу з демо-середовища у спільні. Перевірте зразок сусідства після першої партії даних – інструменти типу Cypher дозволяють виявити зміни міток та відсутність властивостей дешевше, ніж тестування через повноцінний чат.

export CONTROL_PLANE_API_KEY="sk-YOUR_RUNTIME_KEY"
export NEO4J_URI="bolt://127.0.0.1:7687"
export NEO4J_USERNAME="mcp_reader"
export NEO4J_PASSWORD="YOUR_NEO4J_PASSWORD"
export NEO4J_DATABASE="neo4j"
export NEO4J_READ_ONLY="true"
export NEO4J_TRANSPORT_MODE="stdio"
tunnel-client init \
  --sample sample_mcp_stdio_local \
  --profile neo4j-local \
  --tunnel-id "tunnel_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  --mcp-command "/usr/local/bin/neo4j-mcp"
tunnel-client doctor \
  --profile neo4j-local \
  --explain
tunnel-client run --profile neo4j-local

Крок 11: Перевірка підключення до мережі Ubuntu

Для кроку 11: Перевірка підключення до мережі Ubuntu, необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не здогадуючись про прихований стан. Зберігайте конфігурацію окремо від коду додатку. Файли середовища, сховища секретів та флаги функцій мають знаходитися в одному місці, яке оператори можуть перевіряти, не читаючи весь код. Перевірте зразок сусідніх елементів після першої партії даних. За допомогою зондів Cypher можна виявити зміни міток та відсутність властивостей дешевше, ніж за допомогою тестів взаємодії від початку до кінця. Для кроку 11: Перевірка підключення до мережі Ubuntu, необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не здогадуючись про прихований стан. Віддавайте перевагу невеликим, тестованим одиницям коду перед об’ємними скриптами. Коли крок зазнає невдачі, причина має вказувати на конкретний елемент, який потрібно виправити.

можливість використання, а не заплутана система обробки.

curl -I https://api.openai.com

Крок 12: Створення додатку ChatGPT у режимі розробника

Для кроку 12: Створення додатку ChatGPT у режимі розробника необхідно спочатку визначити вхідні дані, відповідального за крок та критерії завершення, перш ніж змінювати код. Оператори повинні мати можливість знову запустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Розглядайте цю стадію як контракт між вхідними даними та перевіреними результатами. Назвіть створювані елементи, визначте критерії успіху та не допускайте мовчазного часткового завершення. Створюйте моделі вузлів та зв’язків для запитань, які ви будете ставити, а не для кожного іменника в документі. Розріджені, типовані зв’язки кращі за щільні, загадкові графи.

Крок 13: Перевірка інтеграції

Для кроку 13: Перевірка інтеграції — визначте вхідні дані, відповідальну особу за крок та критерії завершення перед зміною коду. Оператори повинні мати можливість знову виконати крок з відомої точки контролю, не здогадуючись про прихований стан. Запишіть час виконання та витрати на токени або запити поруч із функціональними результатами. Відображення витрат заздалегідь запобігає несподіваним рахункам під час переходу з демо-середовища у спільні.

Чек-лист операцій

Для чек-листу операцій визначте вхідні дані, відповідальну особу за крок та критерії завершення перед зміною коду. Оператори повинні мати можливість знову виконати крок з відомої точки контролю, не здогадуючись про прихований стан.

Документуйте одночасно шлях успішної роботи та шлях відновлення. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації.

Перевіряйте зразок навколишнього середовища після першої партії. Засоби типу Cypher probes виявляють зміни міток та відсутність властивостей дешевше, ніж тести чату від початку до кінця.

Робіть інструменти з вузькими схемами та чіткими позначеннями побічних ефектів доступними. Хостам потрібно знати, які виклики змінюють стан, перш ніж вони автоматично схвалять їх.

Коли дозволяє бюджет, додавайте тест на базову роботу, який працює з критичним шляхом у середовищі CI за допомогою фікстур, а не з реальними платними API.

Записуйте час виконання та витрати на токени чи запити разом із функціональними результатами. Відображення витрат на ранньому етапі запобігає несподіваним рахункам, коли шлях переходить від демо-версії до спільних середовищ.

Перш ніж запускати стек у продакшн, заморозьте версії, створіть «золотий» запис для критичного шляху виконання та підтвердьте кроки для скасування змін. У спільних середовищах необхідні обмеження на частоту запитів, перевірки прав власності та чіткий власник для обробки секретних даних. Віддавайте перевагу надійності перед креативними одноразовими демонстраціями.