Enables configuration through .env files for setting API keys, database credentials, and other environment variables
Supports deployment through Docker and Docker Compose with preconfigured containers for both the MCP server and Neo4j database
Provides installation instructions via GitHub repo cloning for accessing the Graphiti framework
Сервер MCP Graphiti
Graphiti — это фреймворк для построения и запроса графов знаний с учетом времени, специально разработанный для агентов ИИ, работающих в динамических средах. В отличие от традиционных методов генерации дополненного поиска (RAG), Graphiti непрерывно интегрирует пользовательские взаимодействия, структурированные и неструктурированные корпоративные данные и внешнюю информацию в связный, запрашиваемый граф. Фреймворк поддерживает инкрементные обновления данных, эффективный поиск и точные исторические запросы без необходимости полного пересчета графа, что делает его подходящим для разработки интерактивных, контекстно-зависимых приложений ИИ.
Это экспериментальная реализация сервера Model Context Protocol (MCP) для Graphiti. Сервер MCP раскрывает ключевую функциональность Graphiti через протокол MCP, позволяя помощникам ИИ взаимодействовать с возможностями графа знаний Graphiti.
Функции
Сервер Graphiti MCP предоставляет следующие ключевые высокоуровневые функции Graphiti:
- Управление эпизодами : добавление, извлечение и удаление эпизодов (текст, сообщения или данные JSON)
- Управление сущностями : поиск и управление узлами сущностей и связями в графе знаний.
- Возможности поиска : поиск фактов (ребер) и сводок узлов с использованием семантического и гибридного поиска.
- Управление группами : организация и управление группами связанных данных с помощью фильтрации group_id.
- Обслуживание графика : очистка графика и перестроение индексов.
Быстрый старт для Claude Desktop, Cursor и других клиентов
- Клонируйте репозиторий Graphiti GitHub
или
Запомните полный путь к этому каталогу.
- Установите необходимые компоненты Graphiti .
- Настройте Claude, Cursor или другой клиент MCP для использования Graphiti с транспортом
stdio
. См. документацию клиента о том, где найти файлы конфигурации MCP.
Установка
Предпосылки
- Убедитесь, что у вас установлен Python 3.10 или выше.
- Работающая база данных Neo4j (требуется версия 5.26 или более поздняя)
- Ключ API OpenAI для операций LLM
Настраивать
- Клонируйте репозиторий и перейдите в каталог mcp_server.
- Используйте
uv
для создания виртуальной среды и установки зависимостей:
Конфигурация
Сервер использует следующие переменные среды:
NEO4J_URI
: URI для базы данных Neo4j (по умолчанию:bolt://localhost:7687
)NEO4J_USER
: имя пользователя Neo4j (по умолчанию:neo4j
)NEO4J_PASSWORD
: пароль Neo4j (по умолчанию:demodemo
)OPENAI_API_KEY
: ключ API OpenAI (требуется для операций LLM)OPENAI_BASE_URL
: дополнительный базовый URL-адрес для OpenAI API.MODEL_NAME
: Необязательное имя модели для использования при выводе LLM.AZURE_OPENAI_ENDPOINT
: Необязательный URL-адрес конечной точки Azure OpenAIAZURE_OPENAI_DEPLOYMENT_NAME
: Необязательное имя развертывания Azure OpenAIAZURE_OPENAI_API_VERSION
: Необязательная версия API Azure OpenAIAZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME
: Необязательное имя развертывания внедрения Azure OpenAIAZURE_OPENAI_EMBEDDING_API_VERSION
: Необязательная версия API Azure OpenAIAZURE_OPENAI_USE_MANAGED_IDENTITY
: необязательное использование управляемых удостоверений Azure для аутентификации
Вы можете задать эти переменные в файле .env
в каталоге проекта.
Запуск сервера
Чтобы запустить сервер Graphiti MCP напрямую с помощью uv
:
С опциями:
Доступные аргументы:
--model
: Укажите имя модели для использования с клиентом LLM.--transport
: Выберите метод транспорта (sse или stdio, по умолчанию: sse)--group-id
: Установить пространство имен для графика (необязательно)--destroy-graph
: Уничтожить все графики Graphiti (использовать с осторожностью)--use-custom-entities
: включить извлечение сущностей с использованием предопределенных ENTITY_TYPES
Развертывание Docker
Сервер Graphiti MCP можно развернуть с помощью Docker. Dockerfile использует uv
для управления пакетами, обеспечивая последовательную установку зависимостей.
Конфигурация среды
Перед запуском настройки Docker Compose вам необходимо настроить переменные среды. У вас есть два варианта:
- Использование файла .env (рекомендуется):
- Скопируйте предоставленный файл
.env.example
, чтобы создать файл.env
: - Отредактируйте файл
.env
, чтобы задать ключ API OpenAI и другие параметры конфигурации: - Настройка Docker Compose настроена на использование этого файла, если он существует (это необязательно)
- Скопируйте предоставленный файл
- Использование переменных окружения напрямую :
- Вы также можете задать переменные сре��ы при запуске команды Docker Compose:
- Вы также можете задать переменные сре��ы при запуске команды Docker Compose:
Конфигурация Neo4j
Настройка Docker Compose включает контейнер Neo4j со следующей конфигурацией по умолчанию:
- Имя пользователя:
neo4j
- Пароль:
demodemo
- URI:
bolt://neo4j:7687
(из сети Docker) - Настройки памяти оптимизированы для использования в разработке
Работа с Docker Compose
Запустите службы с помощью Docker Compose:
Или, если вы используете старую версию Docker Compose:
Это запустит как базу данных Neo4j, так и сервер Graphiti MCP. Настройка Docker:
- Использует
uv
для управления пакетами и запуска сервера - Устанавливает зависимости из файла
pyproject.toml
- Подключается к контейнеру Neo4j с использованием переменных среды
- Предоставляет сервер на порту 8000 для HTTP-транспорта SSE
- Включает проверку работоспособности Neo4j, чтобы убедиться в его полной работоспособности перед запуском сервера MCP.
Интеграция с клиентами MCP
Конфигурация
Чтобы использовать сервер Graphiti MCP с клиентом, совместимым с MCP, настройте его для подключения к серверу:
[!ВАЖНО] Вам понадобится установленный менеджер пакетов Python,
uv
. Пожалуйста, ознакомьтесь с инструкциями по установкеuv
.Убедитесь, что вы указали полный путь к двоичному файлу
uv
и папке вашего проекта Graphiti.
Для транспорта SSE (на основе HTTP) можно использовать следующую конфигурацию:
Доступные инструменты
Сервер Graphiti MCP предоставляет следующие инструменты:
add_episode
: Добавить эпизод в граф знаний (поддерживает текст, JSON и форматы сообщений)search_nodes
: Поиск в графе знаний соответствующих сводок узловsearch_facts
: Поиск в графе знаний соответствующих фактов (ребер между сущностями)delete_entity_edge
: Удалить ребро сущности из графа знанийdelete_episode
: Удалить эпизод из графика знанийget_entity_edge
: Получить ребро сущности по ее UUIDget_episodes
: Получить последние эпизоды для определенной группыclear_graph
: Очистить все данные из графа знаний и перестроить индексыget_status
: Получить статус сервера Graphiti MCP и соединения Neo4j
Работа с данными JSON
Сервер Graphiti MCP может обрабатывать структурированные данные JSON через инструмент add_episode
с source="json"
. Это позволяет автоматически извлекать сущности и связи из структурированных данных:
Интеграция с Cursor IDE
Чтобы интегрировать Graphiti MCP Server с Cursor IDE, выполните следующие действия:
- Запустите сервер Graphiti MCP с использованием транспорта SSE:
Подсказка: укажите group_id
для сохранения данных предыдущего графика. Если вы не укажете group_id
, сервер создаст новый график
- Настройте курсор для подключения к серверу Graphiti MCP.
- Добавьте правила Graphiti в пользовательские правила Cursor. Подробности см. в cursor_rules.md .
- Запустите сеанс агента в Cursor.
Интеграция позволяет помощникам ИИ в Cursor поддерживать постоянную память с помощью возможностей графа знаний Graphiti.
Требования
- Python 3.10 или выше
- База данных Neo4j (требуется версия 5.26 или более поздняя)
- Ключ API OpenAI (для операций LLM и встраиваний)
- MCP-совместимый клиент
Лицензия
Данный проект лицензирован по той же лицензии, что и проект Graphiti.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Сервер MCP Graphiti
Related MCP Servers
- AsecurityAlicenseAqualityMCP for working with GraphQL servers.Last updated -2263160TypeScriptMIT License
- Python
- TypeScriptMIT License
- PythonMIT License