AWS Neptune MCP Server

AWS Neptune MCP Server

AWS Neptune MCP Server интегрирует возможности графовой базы данных Amazon Neptune в AI-приложения и кодовые ассистенты. Это позволяет выполнять графовые запросы и управлять операциями через интерфейсы, совместимые с MCP.

Author: awslabs


Просмотреть протокол

Что такое AWS Neptune MCP Server?

AWS Neptune MCP Server — это специализированный MCP-сервер, который соединяет AI-инструменты и графовую базу данных Amazon Neptune. Он открывает мощные функции графовых запросов, аналитики и управления Neptune через стандартизованный Протокол Контекста Модели. Это позволяет приложениям и агентам взаимодействовать с графовыми данными Neptune, используя естественный язык или программные интерфейсы. Сервер поддерживает языки запросов openCypher и Gremlin, что делает его универсальным для различных графовых задач.

Как настроить AWS Neptune MCP Server

  1. Предварительные требования:

    • Убедитесь, что у вас установлен Python (в соответствии с требованиями MCP сервера).
    • Установите инструмент uv из Astral.
  2. Учётные данные:

    • Настройте учётные данные AWS с разрешением на доступ к кластеру Neptune.
    • Убедитесь, что конечная точка Neptune доступна из вашей среды.
  3. Пример конфигурации:
    Добавьте следующую конфигурацию в файл настроек вашего MCP клиента (например, ~/.aws/amazonq/mcp.json, .cursor/mcp.json или файл, требуемый вашим инструментом):

    {
      "mcpServers": {
        "awslabs.amazon-neptune-mcp-server": {
          "command": "uvx",
          "args": ["awslabs.amazon-neptune-mcp-server@latest"],
          "env": {
            "NEPTUNE_HOST": "ваша-конечная-точка-neptune",
            "NEPTUNE_PORT": "8182",
            "NEPTUNE_REGION": "us-east-1",
            "AWS_PROFILE": "ваш-aws-профиль",
            "FASTMCP_LOG_LEVEL": "ERROR"
          },
          "disabled": false
        }
      }
    }
    

    Замените заполнители на фактическую конечную точку вашего кластера Neptune, порт, регион AWS и профиль AWS по мере необходимости.

  4. Сетевые настройки:

    • Если вы работаете локально, убедитесь, что у вас есть доступ к конечной точке Neptune (при необходимости отрегулируйте настройки VPC или SSH-тоннеля).
  5. Запустите сервер:

    • Используйте свой MCP клиент или интерфейс инструмента для запуска и подключения к серверу в соответствии с его документацией.

Как использовать AWS Neptune MCP Server

  1. Запросы к графу:

    • Используйте вашего AI-ассистента или IDE, интегрированную с MCP, чтобы отправлять графовые запросы в Neptune.
    • Поддерживаемые языки запросов включают openCypher и Gremlin; при необходимости укажите, какой язык использовать в вашем запросе.
  2. Вызов инструментов:

    • Узнайте о доступных операциях Neptune через конечную точку tools/list вашего интерфейса MCP клиента.
    • Вызывайте операции, такие как выполнение запросов Cypher или Gremlin, получение наборов результатов, обновление узлов и рёбер или выполнение графовой аналитики.
  3. Пример использования:

    • В интерфейсе чата вы можете сказать:
      Используя Amazon Neptune MCP Server, найдите всех пользователей, связанных с account_id 12345 через отношение "FRIEND_OF".

    • AI-агент автоматически выберет подходящий язык графового запроса и вызовет интерфейс MCP сервера для выполнения запроса и возврата результатов.

  4. Автоматизация рабочего процесса:

    • Интегрируйте поиск по графу, извлечение подграфов или аналитические задачи в более крупные автоматизированные рабочие процессы с использованием ваших AI-инструментов или кодовых ассистентов.
  5. Утверждение и мониторинг:

    • Утверждайте вызовы инструментов, если ваш MCP клиент требует ручного подтверждения для действий с базой данных.

Основные функции

  • Поддержка языков openCypher и Gremlin: Выполняйте сложные запросы по свойствам и обходам графа, совместимые с большинством нагрузок Neptune.
  • Безопасная интеграция с AWS: Использует учётные данные AWS и настройки профиля; использует сетевую безопасность AWS для доступа к кластеру.
  • Структурированный вызов инструментов: Операции Neptune доступны в виде вызываемых MCP инструментов для программного или разговорного использования.
  • Анализ графа в реальном времени: Позволяет делать запросы, обновления и извлечение данных из графовых хранилищ в вашем рабочем процессе разработки AI.
  • Гибкое развертывание: Запускайте сервер локально, в контейнерах или как часть безсерверных рабочих процессов через единую архитектуру MCP.
  • Масштабируемая производительность: Обрабатывает высокообъёмные графовые запросы, когда настроен с подходящими ресурсами Neptune.

Сценарии использования

  • Генерация кода для графовых запросов: Генерируйте и тестируйте запросы openCypher или Gremlin с помощью подсказок от AI для разработки приложений или аналитики.
  • Интерактивное исследование данных: Визуализируйте и анализируйте сложные сети, такие как социальные графы, IoT-сети, графы знаний или рекомендации.
  • Автоматизированные ETL и операции с данными: Используйте автономные агенты для массовых обновлений, миграций данных или проверок целостности по большим графовым базам данных.
  • Разговорный анализ данных: Позвольте бизнес-пользователям запрашивать и понимать данные о связях на естественном языке через чат-ботов или виртуальных ассистентов.
  • DevOps и устранение неисправностей: Быстро исследуйте отношения и зависимости в графах инфраструктуры или операций в облачных средах.

Часто задаваемые вопросы

1. Какие языки графовых запросов поддерживает AWS Neptune MCP Server?
Сервер поддерживает как openCypher, так и Gremlin, что позволяет работать с любым языком запросов, требуемым для вашего сценария использования.

2. Могу ли я использовать AWS Neptune MCP Server с несколькими кластерами Neptune?
Да, вы можете настроить и подключиться к различным кластерам Neptune, установив переменные среды NEPTUNE_HOST, NEPTUNE_PORT и NEPTUNE_REGION для каждого экземпляра MCP сервера по мере необходимости.

3. Является ли доступ к данным через Neptune MCP Server безопасным?
Да, весь трафик использует ваши существующие учётные данные AWS и применяет контроль доступа на основе IAM. Для повышения безопасности ограничьте сетевой доступ к вашему кластеру Neptune, используя группы безопасности и настройки VPC.

4. Как я могу оптимизировать производительность для больших графовых запросов?
Для достижения производительности с большими графами убедитесь, что ваш кластер Neptune правильно настроен для вашей нагрузки, и рассмотрите возможность использования реплик для тяжелых операций чтения.

5. Что делать, если я получаю сетевые ошибки при подключении к Neptune?
Проверьте, есть ли у вашей локальной сети или контейнера доступ к VPC конечной точки Neptune. Возможно, вам нужно будет настроить SSH-тоннель или VPN, если вы получаете доступ извне AWS VPC.